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

Ingenico updates with Pay@Table module | .NET SDK v1.0.6 #43

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
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
7 changes: 2 additions & 5 deletions GlobalPayments.Api.sln
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.28922.388
# Visual Studio 15
VisualStudioVersion = 15.0.26430.12
MinimumVisualStudioVersion = 10.0.40219.1
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{9876175E-E3D9-4F53-B8D3-6FEB12CD64A8}"
EndProject
Expand Down Expand Up @@ -32,7 +32,4 @@ Global
{F17FCB7C-D151-42A3-92F0-D07C6BAEBE1E} = {9876175E-E3D9-4F53-B8D3-6FEB12CD64A8}
{B6046949-26BA-4F0C-A6AD-5836ADAF479F} = {8E5CBF7F-AF5F-462D-9C3B-3660C36D0C4A}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {092A21D0-A224-4A40-9C9C-F4D9EB8751B0}
EndGlobalSection
EndGlobal
101 changes: 7 additions & 94 deletions src/GlobalPayments.Api/Builders/AuthorizationBuilder.cs
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
using System;
using System.Collections.Generic;
using GlobalPayments.Api.Entities;
using GlobalPayments.Api.Network.Entities;
using GlobalPayments.Api.PaymentMethods;

namespace GlobalPayments.Api.Builders {
Expand All @@ -16,12 +15,10 @@ public class AuthorizationBuilder : TransactionBuilder<Transaction> {
internal bool AllowDuplicates { get; set; }
internal bool AllowPartialAuth { get; set; }
internal decimal? Amount { get; set; }
internal bool AmountEstimated { get; set; }
internal decimal? AuthAmount { get; set; }
internal AutoSubstantiation AutoSubstantiation { get; set; }
internal InquiryType? BalanceInquiryType { get; set; }
internal Address BillingAddress { get; set; }
internal string CardBrandTransactionId { get; set; }
internal decimal? CashBackAmount { get; set; }
internal string ClientTransactionId { get; set; }
internal CommercialData CommercialData { get; set; }
Expand Down Expand Up @@ -65,19 +62,12 @@ public class AuthorizationBuilder : TransactionBuilder<Transaction> {
internal Dictionary<string, List<string[]>> SupplementaryData { get; set; }
internal string TagData { get; set; }
internal string Timestamp { get; set; }
internal decimal FeeAmount { get; set; }
internal FeeType FeeType { get; set; }
internal string ShiftNumber { get; set; }
internal string ClerkId { get; set; }
internal string TransportData { get; set; }
internal StoredCredentialInitiator? TransactionInitiator { get; set; }

internal bool HasEmvFallbackData {
get {
return (EmvFallbackCondition != null || EmvLastChipRead != null || !string.IsNullOrEmpty(PaymentApplicationVersion));
}
}
internal EmvLastChipRead EmvChipCondition { get; set; }

/// <summary>
/// Indicates the type of account provided; see the associated Type enumerations for specific values supported.
Expand Down Expand Up @@ -145,11 +135,6 @@ public AuthorizationBuilder WithAmount(decimal? value) {
return this;
}

public AuthorizationBuilder WithAmountEstimated(bool value) {
AmountEstimated = value;
return this;
}

/// <summary>
/// Sets the transaction's authorization amount; where applicable.
/// </summary>
Expand Down Expand Up @@ -178,8 +163,8 @@ public AuthorizationBuilder WithAutoSubstantiation(AutoSubstantiation value) {
/// Sets the Multicapture value as true/false.
/// </summary>
/// <returns>AuthorizationBuilder</returns>
public AuthorizationBuilder WithMultiCapture(bool value = true) {
MultiCapture = value;
public AuthorizationBuilder WithMultiCapture(bool value) {
MultiCapture = value;
return this;
}

Expand All @@ -188,12 +173,6 @@ internal AuthorizationBuilder WithBalanceInquiryType(InquiryType? value) {
return this;
}

public AuthorizationBuilder WithCardBrandStorage(StoredCredentialInitiator transactionInitiator, string value = null) {
TransactionInitiator = transactionInitiator;
CardBrandTransactionId = value;
return this;
}

/// <summary>
/// Sets the cash back amount.
/// </summary>
Expand Down Expand Up @@ -392,7 +371,8 @@ public AuthorizationBuilder WithGratuity(decimal? value) {
/// </summary>
/// <param name="value">The Convenience amount</param>
/// <returns>AuthorizationBuilder</returns>
public AuthorizationBuilder WithConvenienceAmount(decimal? value) {
public AuthorizationBuilder WithConvenienceAmount(decimal? value)
{
ConvenienceAmount = value;
return this;
}
Expand All @@ -402,7 +382,8 @@ public AuthorizationBuilder WithConvenienceAmount(decimal? value) {
/// </summary>
/// <param name="value">The Shipping amount</param>
/// <returns>AuthorizationBuilder</returns>
public AuthorizationBuilder WithShippingAmt(decimal? value) {
public AuthorizationBuilder WithShippingAmt(decimal? value)
{
ShippingAmt = value;
return this;
}
Expand Down Expand Up @@ -776,73 +757,5 @@ protected override void SetupValidations() {

Validations.For(PaymentMethodType.Recurring).Check(() => ShippingAmt).IsNull();
}

public AuthorizationBuilder WithForceGatewayTimeout(bool value) {
ForceGatewayTimeout = value;
return this;
}

public AuthorizationBuilder WithFee(FeeType feeType, decimal feeAmount) {
FeeType = feeType;
FeeAmount = feeAmount;

return this;
}

public AuthorizationBuilder WithUniqueDeviceId(string value) {
UniqueDeviceId = value;
return this;
}

public AuthorizationBuilder WithClerkId(string value) {
ClerkId = value;
return this;
}

public AuthorizationBuilder WithShiftNumber(string value) {
ShiftNumber = value;
return this;
}
public AuthorizationBuilder WithTransportData(string value) {
TransportData = value;
return this;
}
public AuthorizationBuilder WithBatchNumber(int value) {
BatchNumber = value;
return this;
}
public AuthorizationBuilder WithBatchNumber(int batchNumber, int sequenceNumber) {
BatchNumber = batchNumber;
SequenceNumber = sequenceNumber;
return this;
}
public AuthorizationBuilder WithCompanyId(string value) {
CompanyId = value;
return this;
}
public AuthorizationBuilder WithFleetData(FleetData value) {
FleetData = value;
return this;
}
public AuthorizationBuilder WithIssuerData(Dictionary<DE62_CardIssuerEntryTag, string> value) {
IssuerData = value;
return this;
}
public AuthorizationBuilder WithSystemTraceAuditNumber(int value) {
SystemTraceAuditNumber = value;
return this;
}
public AuthorizationBuilder WithTransactionMatchingData(TransactionMatchingData value) {
TransactionMatchingData = value;
return this;
}
public AuthorizationBuilder WithChipCondition(EmvLastChipRead value) {
EmvChipCondition = value;
return this;
}
public AuthorizationBuilder WithProductData(ProductData value) {
ProductData = value;
return this;
}
}
}
}
110 changes: 4 additions & 106 deletions src/GlobalPayments.Api/Builders/ManagementBuilder.cs
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
using GlobalPayments.Api.Entities;
using GlobalPayments.Api.Network.Entities;
using GlobalPayments.Api.PaymentMethods;
using System.Collections.Generic;

Expand Down Expand Up @@ -35,8 +34,6 @@ internal string ClientTransactionId {
internal decimal? Gratuity { get; set; }
internal string InvoiceNumber { get; set; }
internal LodgingData LodgingData { get; set; }
internal int? MultiCapturePaymentCount { get; set; }
internal int? MultiCaptureSequence { get; set; }
internal string OrderId {
get {
if (PaymentMethod is TransactionReference) {
Expand All @@ -56,18 +53,6 @@ internal string TransactionId {
return null;
}
}
internal int TransactionCount { get; set; }
internal decimal TotalCredits { get; set; }
internal decimal TotalDebits { get; set; }
internal string ReferenceNumber { get; set; }
internal BatchCloseType BatchCloseType { get; set; }
internal decimal? CashBackAmount { get; set; }
internal bool ForcedReversal { get; set; }
internal bool CustomerInitiated { get; set; }
internal string TransportData { get; set; }
internal string Timestamp { get; set; }
internal VoidReason? VoidReason { get; set; }
internal bool AllowDuplicates { get; set; }

/// <summary>
/// Sets the current transaction's amount.
Expand All @@ -93,16 +78,8 @@ public ManagementBuilder WithAuthAmount(decimal? value) {
/// Sets the Multicapture value as true/false.
/// </summary>
/// <returns>ManagementBuilder</returns>
//public ManagementBuilder WithMultiCapture(bool value) {
// MultiCapture = value;
// return this;
//}

public ManagementBuilder WithMultiCapture(int sequence = 1, int paymentCount = 1) {
MultiCapture = true;
MultiCaptureSequence = sequence;
MultiCapturePaymentCount = paymentCount;

public ManagementBuilder WithMultiCapture(bool value) {
MultiCapture = value;
return this;
}

Expand Down Expand Up @@ -239,50 +216,7 @@ internal ManagementBuilder WithModifier(TransactionModifier value) {
/// <param name="value"></param>
/// <returns></returns>
public ManagementBuilder WithAlternativePaymentType(AlternativePaymentType value) {
AlternativePaymentType = value;
return this;
}
public ManagementBuilder WithCashBackAmount(decimal? value) {
CashBackAmount = value;
return this;
}
public ManagementBuilder WithBatchNumber(int batchNumber, int sequenceNumber = 0) {
BatchNumber = batchNumber;
SequenceNumber = sequenceNumber;
return this;
}
public ManagementBuilder WithBatchCloseType(BatchCloseType value) {
BatchCloseType = value;
return this;
}
public ManagementBuilder WithBatchTotals(int transactionCount, decimal totalDebits, decimal totalCredits) {
TransactionCount = transactionCount;
TotalDebits = totalDebits;
TotalCredits = totalCredits;

return this;
}
public ManagementBuilder WithTransportData(string value) {
TransportData = value;
return this;
}
public ManagementBuilder WithTimestamp(string value) {
Timestamp = value;
return this;
}
public ManagementBuilder WithReferenceNumber(string value) {
ReferenceNumber = value;
return this;
}

/// <summary>
/// Allows duplicate transactions by skipping the
/// gateway's duplicate checking.
/// </summary>
/// <param name="value">The duplicate skip flag</param>
/// <returns>ManagementBuilder</returns>
public ManagementBuilder WithAllowDuplicates(bool value) {
AllowDuplicates = value;
this.AlternativePaymentType = value;
return this;
}

Expand All @@ -296,11 +230,6 @@ public ManagementBuilder WithLodgingData(LodgingData value) {
return this;
}

public ManagementBuilder WithVoidReason(VoidReason? value) {
VoidReason = value;
return this;
}

internal ManagementBuilder(TransactionType type) : base(type) {}

/// <summary>
Expand All @@ -316,7 +245,7 @@ public override Transaction Execute(string configName = "default") {

protected override void SetupValidations() {
Validations.For(TransactionType.Capture | TransactionType.Edit | TransactionType.Hold | TransactionType.Release)
.Check(() => PaymentMethod).IsNotNull();
.Check(() => TransactionId).IsNotNull();

// TODO: Need level validations
//Validations.For(TransactionType.Edit).With(TransactionModifier.Level_II)
Expand All @@ -338,37 +267,6 @@ protected override void SetupValidations() {

Validations.For(TransactionType.TokenUpdate)
.Check(() => PaymentMethod).Is<CreditCardData>();

Validations.For(
TransactionType.Capture |
TransactionType.Edit |
TransactionType.Hold |
TransactionType.Release |
TransactionType.TokenUpdate |
TransactionType.TokenDelete |
TransactionType.VerifySignature |
TransactionType.Refund)
.Check(() => VoidReason).IsNull();
}
public ManagementBuilder WithForcedReversal(bool value) {
ForcedReversal = value;
return this;
}
public ManagementBuilder WithProductData(ProductData value) {
ProductData = value;
return this;
}
public ManagementBuilder WithFleetData(FleetData value) {
FleetData = value;
return this;
}
public ManagementBuilder WithCustomerInitiated(bool value) {
CustomerInitiated = value;
return this;
}
public ManagementBuilder WithForceGatewayTimeout(bool value) {
ForceGatewayTimeout = value;
return this;
}
}
}
22 changes: 2 additions & 20 deletions src/GlobalPayments.Api/Builders/TransactionBuilder.cs
Original file line number Diff line number Diff line change
@@ -1,35 +1,17 @@
using GlobalPayments.Api.Entities;
using GlobalPayments.Api.Network.Entities;
using GlobalPayments.Api.PaymentMethods;
using System.Collections.Generic;

namespace GlobalPayments.Api.Builders {
namespace GlobalPayments.Api.Builders
{
public abstract class TransactionBuilder<TResult> : BaseBuilder<TResult> {
internal TransactionType TransactionType { get; set; }
internal TransactionModifier TransactionModifier { get; set; }
internal IPaymentMethod PaymentMethod { get; set; }
internal bool MultiCapture { get; set; }
internal DccRateData DccRateData { get; set; }

//network fields
internal int BatchNumber{ get; set; }
internal string CompanyId{ get; set; }
internal FleetData FleetData{ get; set; }
internal Dictionary<DE62_CardIssuerEntryTag, string> IssuerData{ get; set; }
internal PriorMessageInformation PriorMessageInformation{ get; set; }
internal ProductData ProductData{ get; set; }
internal int SequenceNumber{ get; set; }
internal int SystemTraceAuditNumber{ get; set; }
internal string UniqueDeviceId{ get; set; }
internal TransactionMatchingData TransactionMatchingData{ get; set; }
// network fields
internal bool ForceGatewayTimeout { get; set; }
public TransactionBuilder(TransactionType type) : base() {
TransactionType = type;
}
public TransactionBuilder(TransactionType type, IPaymentMethod paymentMethod) : base() {
this.TransactionType = type;
this.PaymentMethod = paymentMethod;
}
}
}
Loading