Skip to content
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
7 changes: 7 additions & 0 deletions src/CheckoutSdk/Forward/Requests/DestinationRequest.cs
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
using Checkout.Forward.Requests.Signatures;

namespace Checkout.Forward.Requests
{
public class DestinationRequest
Expand All @@ -17,5 +19,10 @@ public class DestinationRequest
/// payment instrument you specified. For example, {{card_number}} (Required, max 16384 characters)
/// </summary>
public string Body { get; set; }

/// <summary>
/// Optional configuration to add a signature to the forwarded HTTP request (Optional).
/// </summary>
public AbstractSignature Signature { get; set; }
}
}
13 changes: 13 additions & 0 deletions src/CheckoutSdk/Forward/Requests/Signatures/AbstractSignature.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
namespace Checkout.Forward.Requests.Signatures
{
public abstract class AbstractSignature
{
protected AbstractSignature(SignatureType type) { Type = type; }

/// <summary>
/// The identifier of the supported signature generation method or a specific third-party service.
/// (Required)
/// </summary>
public SignatureType? Type { get; set; }
}
}
10 changes: 10 additions & 0 deletions src/CheckoutSdk/Forward/Requests/Signatures/DlocalParameters.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
namespace Checkout.Forward.Requests.Signatures
{
public class DlocalParameters
{
/// <summary>
/// The secret key used to generate the request signature. This is part of the dLocal API credentials.
/// </summary>
public string SecretKey { get; set; }
}
}
14 changes: 14 additions & 0 deletions src/CheckoutSdk/Forward/Requests/Signatures/DlocalSignature.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
namespace Checkout.Forward.Requests.Signatures
{
public class DlocalSignature
{
/// <summary>
/// The parameters required to generate an HMAC signature for the dLocal API. See their documentation for
/// details.
/// This method requires you to provide the X-Login header value in the destination request headers.
/// When used, the Forward API appends the X-Date and Authorization headers to the outgoing HTTP request
/// before forwarding.
/// </summary>
public DlocalParameters DlocalParameters { get; set; }
}
}
10 changes: 10 additions & 0 deletions src/CheckoutSdk/Forward/Requests/Signatures/SignatureType.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
using System.Runtime.Serialization;

namespace Checkout.Forward.Requests.Signatures
{
public enum SignatureType
{
[EnumMember(Value = "dlocal")]
Dlocal,
}
}
Loading