abstractions

package
v1.1.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 6, 2025 License: GPL-2.0 Imports: 34 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ExecutableGateway added in v1.1.2

type ExecutableGateway interface {
	Execute(ctx context.Context, gateway IPaymentGateway) (ITransaction, error)
}

type IAuthorizationBuilder added in v1.1.2

type IAuthorizationBuilder interface {
	ITransactionBuilder
	GetAlias() string
	GetAliasAction() aliasaction.AliasAction
	IsAllowDuplicates() bool
	IsAllowPartialAuth() bool
	GetAmount() *decimal.Decimal
	IsAmountEstimated() bool
	GetAuthAmount() *decimal.Decimal
	GetBalanceInquiryType() inquirytype.InquiryType
	GetBillingAddress() *base.Address
	GetBills() []billing.Bill
	GetCardBrandTransactionId() string
	GetCashBackAmount() *decimal.Decimal
	GetClerkId() string
	GetClientTransactionId() string
	GetCurrency() string
	GetCustomer() *recurring.Customer
	GetCustomerId() string
	GetCustomerIpAddress() string
	GetCustomerData() *recurring.Customer
	GetCustomData() [][]string
	GetCvn() string
	GetDescription() string
	GetDecisionManager() *entities.DecisionManager
	GetDynamicDescriptor() string
	GetEcommerceInfo() *entities.EcommerceInfo
	GetFraudFilterMode() fraudfiltermode.FraudFilterMode
	GetGratuity() *decimal.Decimal
	GetHostedPaymentData() *entities.HostedPaymentData
	GetInvoiceNumber() string
	IsLevel2Request() bool
	GetOfflineAuthCode() string
	IsOneTimePayment() bool
	GetOrderId() string
	GetProductId() string
	IsRequestMultiUseToken() bool
	IsRequestUniqueToken() bool
	GetRecurringSequence() recurringsequence.RecurringSequence
	GetRecurringType() recurringtype.RecurringType
	GetScheduleId() string
	GetShippingAddress() *base.Address
	GetStoredCredential() *entities.StoredCredential
	GetSurchargeAmount() *decimal.Decimal
	GetTimestamp() string
	HasEmvFallbackData() bool
	GetConvenienceAmount() *decimal.Decimal
	GetReplacementCardValue() string
	GetReplacementCardPin() string
	GetReplacementCardType() string
	GetShippingAmount() *decimal.Decimal
	GetSupplementaryData() map[string][][]string
	GetAccountType() accounttype.AccountType
	GetEmvChipCondition() *emvchipcondition.EmvChipCondition
	GetEmvLastChipRead() *emvlastchipread.EmvLastChipRead
	GetMessageAuthenticationCode() string
	IsMultiCapture() bool
	GetMiscProductData() []base.Product
	GetTagData() string
	GetTransactionInitiator() storedcredentialinitiator.StoredCredentialInitiator
	GetFeeAmount() *decimal.Decimal
	GetFeeType() feetype.FeeType
	GetFollowOnTimestamp() string
	GetShiftNumber() string
	GetTransportData() string
	GetCardHolderLanguage() string
	GetPosSequenceNumber() string
	GetReversalReasonCode() reversalreasoncode.ReversalReasonCode
	WithReversalReasonCode(code reversalreasoncode.ReversalReasonCode)
	WithAccountType(value accounttype.AccountType)
	WithAddress(value *base.Address)
	WithAddressWithType(value *base.Address, addrType addresstype.AddressType)
	WithAlias(action aliasaction.AliasAction, value string)
	WithAllowDuplicates(value bool)
	WithGenerateReceipt(value bool)
	WithAvs(value bool)
	WithAllowPartialAuth(value bool)
	WithAmount(value *decimal.Decimal)
	WithAmountEstimated(value bool)
	WithAuthAmount(value *decimal.Decimal)
	WithBalanceInquiryType(value inquirytype.InquiryType)
	WithCardHolderLanguage(value string)
	WithBills(bills ...billing.Bill)
	WithChipCondition(value emvchipcondition.EmvChipCondition)
	WithFallbackCondition(value emvfallbackcondition.EmvFallbackCondition)
	WithLastChipRead(value emvlastchipread.EmvLastChipRead)
	WithClerkId(value string)
	WithClientTransactionId(value string)
	WithCommercialRequest(value bool)
	WithConvenienceAmt(value *decimal.Decimal)
	WithCurrency(value string)
	WithCustomer(value *recurring.Customer)
	WithCustomerId(value string)
	WithCustomerIpAddress(value string)
	WithCustomerData(value *recurring.Customer)
	WithCustomData(value ...string)
	WithCvn(value string)
	WithCardSequenceNumber(value string)
	WithDecisionManager(value *entities.DecisionManager)
	WithDynamicDescriptor(value string)
	WithEcommerceInfo(value *entities.EcommerceInfo)
	WithFraudFilter(fraudFilterMode fraudfiltermode.FraudFilterMode, fraudRules ...*entities.FraudRuleCollection)
	WithGratuity(value *decimal.Decimal)
	WithHostedPaymentData(value *entities.HostedPaymentData)
	WithIdempotencyKey(value string)
	WithInvoiceNumber(value string)
	WithMessageAuthenticationCode(value string)
	WithMultiCapture(value bool)
	WithOfflineAuthCode(value string)
	WithOneTimePayment(value bool)
	WithOrderId(value string)
	WithPosSequenceNumber(value string)
	WithMiscProductData(values []base.Product)
	WithProductId(value string)
	WithPaymentApplicationVersion(value string)
	WithPaymentMethodUsageMode(value paymentmethodusagemode.PaymentMethodUsageMode)
	WithPhoneNumber(phoneCountryCode, number string, phoneType phonenumbertype.PhoneNumberType)
	WithPaymentMethod(value pabstractions.IPaymentMethod)
	WithPriorMessageInformation(value *networkentities.PriorMessageInformation)
	WithRecurringInfo(typeValue recurringtype.RecurringType, sequence recurringsequence.RecurringSequence)
	WithRequestMultiUseToken(value bool)
	WithRequestUniqueToken(value bool)
	WithTransactionId(value string)
	WithModifier(value transactionmodifier.TransactionModifier)
	WithScheduleId(value string)
	WithShippingAmt(value *decimal.Decimal)
	WithShippingDiscount(value *decimal.Decimal)
	WithOrderDetails(value *base.OrderDetails)
	WithSimulatedHostErrors(h host.Host, errors ...hosterror.HostError)
	WithStoredCredential(value *entities.StoredCredential)
	WithSupplementaryData(t string, values ...string)
	WithSurchargeAmount(value *decimal.Decimal)
	WithTimestamp(value string)
	WithTimestampAndFollowOn(value, followOn string)
	WithTagData(value string)
	WithBatchNumber(batchNumber *int)
	WithBatchAndSequenceNumber(batchNumber, sequenceNumber *int)
	WithCardBrandStorage(transactionInitiator storedcredentialinitiator.StoredCredentialInitiator)
	WithCardBrandStorageAndTransactionId(transactionInitiator storedcredentialinitiator.StoredCredentialInitiator, value string)
	WithCompanyId(companyId string)
	WithFee(feeType feetype.FeeType, feeAmount *decimal.Decimal)
	WithShiftNumber(value string)
	WithSystemTraceAuditNumberAndFollowOn(original *int, followOn *int)
	WithTerminalError(value bool)
	WithTransportData(value string)
	WithTaxAmount(taxAmount *decimal.Decimal)
	WithTipAmount(tipAmount *decimal.Decimal)
	WithRemittanceReference(remittanceReferenceType remittancereferencetype.RemittanceReferenceType, remittanceReferenceValue string)
	WithBNPLShippingMethod(value bnplshippingmethod.BNPLShippingMethod) error
	WithTransactiontype(t transactiontype.TransactionType)
	WithPaymentPurposeCode(paymentPurposeCode string)
	WithEmvMaxPinEntry(emvMaxPinEntry string)
	WithGoodsSold(goodsSold string)
	WithCheckCustomerId(checkCustomerId string)
	WithRawMICRData(rawMICRData string)
	WithEWICIssuingEntity(eWICIssuingEntity string)
	WithCountry(country string)
	WithMaskedDataResponse(value *bool)
	Serialize(ctx context.Context, gateway IPaymentGateway) (string, error)
	SerializeWithConfig(ctx context.Context, configName string, gateway IPaymentGateway) (string, error)
	SetupValidations()
}

type IBaseBuilder added in v1.1.2

type IBaseBuilder interface {
	GetValidations() validations.Validations
	SetValidations(validations validations.Validations)
}

type IManagementBuilder added in v1.1.2

type IManagementBuilder interface {
	ITransactionBuilder
	Execute(ctx context.Context, gateway IPaymentGateway) (ITransaction, error)
	WithMiscProductData(values []base.Product)
	GetAlternativePaymentType() alternativepaymenttype.AlternativePaymentType
	GetAccountType() accounttype.AccountType
	GetAmount() *decimal.Decimal
	GetAuthAmount() *decimal.Decimal
	GetBills() []billing.Bill
	GetCashBackAmount() *decimal.Decimal
	GetClerkId() string
	GetClientTransactionId() string
	GetTransactionId() string
	GetCommercialData() *entities.CommercialData
	GetConvenienceAmount() *decimal.Decimal
	GetCurrency() string
	GetCustomerId() string
	GetCustomerIpAddress() string
	IsCustomerInitiated() bool
	GetDescription() string
	IsForceToHost() bool
	GetEmvChipCondition() *emvchipcondition.EmvChipCondition
	GetGratuity() *decimal.Decimal
	GetInvoiceNumber() string
	GetOrderId() string
	GetPayerAuthenticationResponse() string
	GetPoNumber() string
	GetPosSequenceNumber() string
	GetProductId() string
	GetReferenceNumber() string
	GetReversalReasonCode() reversalreasoncode.ReversalReasonCode
	GetShiftNumber() string
	GetSupplementaryData() map[string][][2]string
	GetSurchargeAmount() *decimal.Decimal
	GetTagData() string
	GetTaxAmount() *decimal.Decimal
	GetTaxType() taxtype.TaxType
	GetTimestamp() string
	GetTransportData() string
	GetTransactionCount() *int
	GetTotalCredits() *decimal.Decimal
	GetTotalDebits() *decimal.Decimal
	GetTransactionInitiator() storedcredentialinitiator.StoredCredentialInitiator
	GetCardBrandTransactionId() string
	GetCardType() string
	WithCommercialData(cd *entities.CommercialData)
	WithCardType(s string)
	WithSettlementAmount(value *decimal.Decimal)
	WithPaymentPurposeCode(paymentPurposeCode string)
	WithAccountType(value accounttype.AccountType)
	WithApprovalCode(value string)
	WithDataCollectResponseCode(value int)
	WithAlternativePaymentType(value alternativepaymenttype.AlternativePaymentType)
	WithAmount(value *decimal.Decimal)
	WithChipCondition(value emvchipcondition.EmvChipCondition)
	WithAuthAmount(value *decimal.Decimal)
	WithBatchTotals(transactionCount int, totalDebits, totalCredits *decimal.Decimal)
	WithBatchTotalsAmount(totalAmount, totalDebits, totalCredits *decimal.Decimal)
	WithBatchTotalTransaction(transactionCount int, totalSales, totalReturns *decimal.Decimal)
	WithBatchReference(value string)
	WithBills(bills ...billing.Bill)
	WithMultiCapture(sequence *int)
	WithMultiCaptureAndPaymentCount(sequence, paymentCount *int)
	WithCardBrandStorage(transactionInitiator storedcredentialinitiator.StoredCredentialInitiator)
	WithCardBrandStorageAndTransactionId(transactionInitiator storedcredentialinitiator.StoredCredentialInitiator, value string)
	WithCashBackAmount(value *decimal.Decimal)
	WithClerkId(value string)
	WithClientTransactionId(value string)
	WithConvenienceAmt(value *decimal.Decimal)
	WithCurrency(value string)
	WithCustomerId(value string)
	WithCustomerIpAddress(value string)
	WithCustomerInitiated(value bool)
	WithDisputeId(value string)
	WithDynamicDescriptor(value string)
	WithForceToHost(value bool)
	WithGratuity(value *decimal.Decimal)
	WithInvoiceNumber(value string)
	WithIdempotencyKey(value string)
	WithPaymentMethod(value abstractions.IPaymentMethod)
	WithPayerAuthenticationResponse(value string)
	WithPoNumber(value string)
	WithPosSequenceNumber(value string)
	WithProductId(value string)
	WithReferenceNumber(value string)
	WithShiftNumber(value string)
	WithEcommerceInfo(value entities.EcommerceInfo)
	WithStoredCredential(value entities.StoredCredential)
	WithSupplementaryData(typeKey string, values ...string)
	WithSurchargeAmount(value *decimal.Decimal)
	WithTagData(value string)
	WithPaymentMethodUsageMode(value paymentmethodusagemode.PaymentMethodUsageMode)
	WithTaxAmount(value *decimal.Decimal)
	WithTaxType(value taxtype.TaxType)
	WithTimestamp(value string)
	WithTransportData(value string)
	WithReference(value string)
	WithReversalReasonCode(code reversalreasoncode.ReversalReasonCode)
}

type IPaymentGateway added in v1.1.2

type IPaymentGateway interface {
	ProcessAuthorization(ctx context.Context, builder IAuthorizationBuilder) (ITransaction, error)
	ManageTransaction(ctx context.Context, builder IManagementBuilder) (ITransaction, error)
	SerializeRequest(ctx context.Context, builder IAuthorizationBuilder) (string, error)
	SendKeepAlive(ctx context.Context) (*network.NetworkMessageHeader, error)
	SupportsHostedPayments() bool
	SupportsOpenBanking() bool
}

type ITransaction added in v1.1.2

type ITransaction interface {
}

type ITransactionBuilder added in v1.1.2

type ITransactionBuilder interface {
	IBaseBuilder
	WithServiceCode(serviceCode string)
	WithEcommerceAuthIndicator(ecommerceAuthIndicator string)
	WithEcommerceData1(ecommerceData1 string)
	WithEcommerceData2(ecommerceData2 string)
	WithZipCode(zipCode string)
	GetTransactionType() transactiontype.TransactionType
	SetTransactionType(transactionType transactiontype.TransactionType)
	GetTransactionModifier() transactionmodifier.TransactionModifier
	SetTransactionModifier(transactionModifier transactionmodifier.TransactionModifier)
	GetPaymentMethod() paymentmethods.IPaymentMethod
	SetPaymentMethod(paymentMethod paymentmethods.IPaymentMethod)
	GetSimulatedHostErrors() map[host.Host][]hosterror.HostError
	GetBatchNumber() *int
	GetCompanyId() string
	GetIssuerData() map[cardissuerentrytag.CardIssuerEntryTag]string
	GetFollowOnStan() *int
	GetPriorMessageInformation() *networkentities.PriorMessageInformation
	SetPriorMessageInformation(priorMessageInformation *networkentities.PriorMessageInformation)
	GetSequenceNumber() *int
	GetSystemTraceAuditNumber() *int
	GetUniqueDeviceId() string
	GetTransactionMatchingData() *networkentities.TransactionMatchingData
	IsTerminalError() bool
	WithDescription(description string)
	WithIssuerData(issuerData map[cardissuerentrytag.CardIssuerEntryTag]string)
	WithFollowOnStan(followOnStan *int)
	WithSequenceNumber(sequenceNumber *int)
	WithSystemTraceAuditNumber(systemTraceAuditNumber *int)
	WithUniqueDeviceId(uniqueDeviceId string)
	WithTransactionMatchingData(transactionMatchingData *networkentities.TransactionMatchingData)
	SetTerminalError(terminalError bool)
	SetTaxAmount(taxAmount *decimal.Decimal)
	SetTipAmount(tipAmount *decimal.Decimal)
	SetSurchargeAmount(surchargeAmount *decimal.Decimal)
	WithCashBackAmount(cashBackAmount *decimal.Decimal)
	SetInvoiceNumber(invoiceNumber string)
	SetPosSequenceNumber(sn string)
	SetCvn(cvn string)
	SetAmount(amount *decimal.Decimal)
	SetTagData(tagData string)
	SetEmvMaxPinEntry(emvMaxPinEntry string)
	SetCardSequenceNumber(cardSequenceNumber string)
	SetEcommerceAuthIndicator(ecommerceAuthIndicator string)
	SetEcommerceData1(ecommerceData1 string)
	SetEcommerceData2(ecommerceData2 string)
	SetTransactionDate(transactionDate string)
	SetTransactionTime(transactionTime string)
	SetZipCode(zipCode string)
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL