Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Brayan Sarmiento
API-Gateway-GK
Commits
56f10e15
Commit
56f10e15
authored
Jul 25, 2023
by
bsarmiento31
Browse files
Initial commit
parents
Changes
135
Hide whitespace changes
Inline
Side-by-side
gatewayGK/POSGk/AuthenticateReq.cs
0 → 100644
View file @
56f10e15
using
System.Text.Json.Serialization
;
namespace
SCOGateway.POSGk
{
/// <summary>
/// Registro para solicitar autenticación a cliente Smart POS GK.
/// </summary>
record
AutenticationReq
{
[
JsonPropertyName
(
"loginName"
)]
public
string
LoginName
{
get
;
set
;
}
=
""
;
[
JsonPropertyName
(
"password"
)]
public
string
Password
{
get
;
set
;
}
=
""
;
[
JsonPropertyName
(
"businessUnitId"
)]
public
string
BusinessUnitId
{
get
;
set
;
}
=
""
;
[
JsonPropertyName
(
"passwordRequired"
)]
public
bool
PasswordRequired
{
get
;
set
;
}
=
true
;
}
}
\ No newline at end of file
gatewayGK/POSGk/AuthenticateResp.cs
0 → 100644
View file @
56f10e15
using
System.Text.Json.Serialization
;
namespace
SCOGateway.POSGk
{
record
AuthenticateResp
{
[
JsonPropertyName
(
"operatorID"
)]
public
string
OperatorID
{
get
;
set
;
}
=
""
;
[
JsonPropertyName
(
"workerID"
)]
public
string
WorkerID
{
get
;
set
;
}
=
""
;
[
JsonPropertyName
(
"firstName"
)]
public
string
FirstName
{
get
;
set
;
}
=
""
;
[
JsonPropertyName
(
"lastName"
)]
public
string
LastName
{
get
;
set
;
}
=
""
;
[
JsonPropertyName
(
"languageID"
)]
public
string
LanguageID
{
get
;
set
;
}
=
""
;
[
JsonPropertyName
(
"realmId"
)]
public
string
RealmId
{
get
;
set
;
}
=
""
;
[
JsonPropertyName
(
"expirationCountDays"
)]
public
int
ExpirationCountDays
{
get
;
set
;
}
=
0
;
[
JsonPropertyName
(
"passwordBeforeExpiration"
)]
public
bool
PasswordBeforeExpiration
{
get
;
set
;
}
=
true
;
}
}
\ No newline at end of file
gatewayGK/POSGk/CancelItemReq.cs
0 → 100644
View file @
56f10e15
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
using
System.Text.Json.Serialization
;
using
System.Threading.Tasks
;
namespace
gatewayGK.POSGk
{
record
CancelItemReq
{
[
JsonPropertyName
(
"forceQuantityInput"
)]
public
bool
forceQuantityInput
{
get
;
set
;
}
=
true
;
}
}
gatewayGK/POSGk/CancelItemResp.cs
0 → 100644
View file @
56f10e15
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
using
System.Text.Json.Serialization
;
using
System.Threading.Tasks
;
namespace
gatewayGK.POSGk
{
record
CancelItemResp
{
[
JsonPropertyName
(
"operatorID"
)]
public
string
OperatorID
{
get
;
set
;
}
=
""
;
}
}
gatewayGK/POSGk/ConstantesGK.cs
0 → 100644
View file @
56f10e15
namespace
SCOGateway.POSGk
{
/// <summary>
/// Constantes del ambiente Gk Smart POS.
/// </summary>
public
static
class
ConstantesGK
{
/// <summary>
/// Url base ambiente de pruebas Gk maqueta.
/// </summary>
public
const
string
UrlBaseMaqueta
=
"https://julia.redsis.com/castlemock/mock/rest/project/KdLiqe/application/l4KAuU"
;
}
}
\ No newline at end of file
gatewayGK/POSGk/EntornoGK.cs
0 → 100644
View file @
56f10e15
/// <summary>
/// Esta clase almacena valores requeridos
/// para la operación del SCO con la operación de la POS GK,
/// valores que deben ser compartidos entre comandos.
/// </summary>
public
class
EntornoGK
{
/// <summary>
/// Gk - seguridad usuario.
/// </summary>
public
string
RealmId
{
get
;
set
;
}
=
""
;
/// <summary>
/// Gk - días expiración realmId.
/// </summary>
public
int
ExpirationCountDays
{
get
;
set
;
}
=
0
;
/// <summary>
/// GK Language.
/// </summary>
public
string
Language
{
get
;
set
;
}
=
"en"
;
}
\ No newline at end of file
gatewayGK/POSGk/SubTotalResp.cs
0 → 100644
View file @
56f10e15
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
using
System.Text.Json.Serialization
;
using
System.Threading.Tasks
;
namespace
gatewayGK.POSGk
{
record
SubTotalResp
{
[
JsonPropertyName
(
"operatorID"
)]
public
string
OperatorID
{
get
;
set
;
}
=
""
;
}
}
gatewayGK/POSGk/SubtotalReq.cs
0 → 100644
View file @
56f10e15
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
using
System.Text.Json.Serialization
;
using
System.Threading.Tasks
;
namespace
gatewayGK.POSGk
{
/// <summary>
/// Registro para obtener el subtotal de una venta
/// </summary>
record
SubtotalReq
{
[
JsonPropertyName
(
"forceQuantityInput"
)]
public
bool
ForceQuantityInput
{
get
;
set
;
}
=
true
;
[
JsonPropertyName
(
"pricePositionLimit"
)]
public
int
PricePositionLimit
{
get
;
set
;
}
=
0
;
[
JsonPropertyName
(
"priceTransactionLimit"
)]
public
int
PriceTransactionLimit
{
get
;
set
;
}
=
0
;
[
JsonPropertyName
(
"priceDifferencePercentPositionLimit"
)]
public
int
PriceDifferencePercentPositionLimit
{
get
;
set
;
}
=
0
;
[
JsonPropertyName
(
"priceDifferenceAbsolutePositionLimit"
)]
public
int
PriceDifferenceAbsolutePositionLimit
{
get
;
set
;
}
=
0
;
}
}
gatewayGK/POSGk/SuspendTransactionReq.cs
0 → 100644
View file @
56f10e15
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
using
System.Text.Json.Serialization
;
using
System.Threading.Tasks
;
namespace
gatewayGK.POSGk
{
record
SuspendTransactionReq
{
[
JsonPropertyName
(
"suspendNumber"
)]
public
string
SuspendNumber
{
get
;
set
;
}
=
""
;
[
JsonPropertyName
(
"barCodePrefix"
)]
public
string
BarCodePrefix
{
get
;
set
;
}
=
""
;
[
JsonPropertyName
(
"finalizeTransaction"
)]
public
bool
FinalizeTransaction
{
get
;
set
;
}
=
true
;
}
}
gatewayGK/POSGk/SuspendTransactionResp.cs
0 → 100644
View file @
56f10e15
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
using
System.Text.Json.Serialization
;
using
System.Threading.Tasks
;
namespace
gatewayGK.POSGk
{
record
SuspendTransactionResp
{
[
JsonPropertyName
(
"operatorID"
)]
public
string
OperatorID
{
get
;
set
;
}
=
""
;
}
}
gatewayGK/Program.cs
0 → 100644
View file @
56f10e15
using
Serilog
;
using
Microsoft.Extensions.Configuration
;
using
EvaPosSCOSrv
;
using
EvaPosSrvAplicacionImp
;
using
EvaPosSrvRespImp
;
/// <summary>
/// EvaPos-API : servidor api, sockets y rest.
/// Usa Serilog para bitácora.
/// </summary>
class
Program
{
static
void
Main
(
string
[]
args
)
{
try
{
Console
.
WriteLine
(
"*** Gateway SCO ***"
);
// Instancia objeto de configuración, usa proveedor json y variables ambiente.
IConfigurationRoot
config
=
new
ConfigurationBuilder
()
.
AddJsonFile
(
"appsettings.json"
)
.
AddEnvironmentVariables
()
.
Build
();
// Lee archivo de configuración.
Config
?
configuracion
=
config
.
GetRequiredSection
(
"GatewayConfig"
).
Get
<
Config
>();
if
(
configuracion
is
null
)
{
throw
new
ApplicationException
(
"Error en archivo de configuración, sección 'GatewayConfig' no encontrada."
);
}
// TODO Sacar la ruta de logs del objeto de configuración adecuadamente.
string
?
rutaLogs
=
config
[
"Serilog:WriteTo:1:Args:path"
];
Console
.
WriteLine
(
$"Archivo de logs en
{
rutaLogs
}
"
);
// Instancia Serilog según parámetros en archivo de configuración.
Log
.
Logger
=
new
LoggerConfiguration
()
.
ReadFrom
.
Configuration
(
config
)
.
CreateLogger
();
Log
.
Information
(
configuracion
.
ToString
());
// TODO - opción de incluir la activación en la cadena de configuración.
// TODO - aunque hace uso de una "invocación fluida" no parece ser el tipo de api que se beneficia de ese esquema.
ServidorSocket
servidor
=
new
ServidorSocket
()
.
ConIp
(
configuracion
.
IpSCO
)
.
EnPuerto
(
configuracion
.
PortSCO
)
.
AgregaDispensadorAdaptadores
(
IniciaDirectorioAdaptadores
.
Cargar
().
DirectorioAdaptadores
)
.
AgregaDirectorioCmds
(
DirectorioCmdsFactory
.
CreaDirectorio
(
configuracion
))
.
AgregaProcesadorAplicacion
(
new
Aplicacion
())
.
Activa
();
}
catch
(
Exception
e
)
{
Log
.
Error
(
$"Excepción:
{
e
}
"
);
Environment
.
Exit
(
1
);
}
}
}
\ No newline at end of file
gatewayGK/RespuestasXML/AddCustomer/AddCustomerResponse.cs
0 → 100644
View file @
56f10e15
using
EvaPosSrvDTO
;
using
EvaPosSrvResp
;
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
using
System.Threading.Tasks
;
namespace
EvaPOS_API_FRAME.RespuestasXML.AddCustomer
{
/// <summary>
/// Respuesta de la petición agregar cliente
/// </summary>
public
class
AddCustomerResponse
:
Respuesta
{
public
int
RequestID
{
get
;
set
;
}
public
string
CustomerID
{
get
;
set
;
}
public
string
Name
{
get
;
set
;
}
public
long
YTDPoints
{
get
;
set
;
}
private
string
_xml
;
public
AddCustomerResponse
(
int
sessionId
,
TipoMensaje
messageType
,
int
requestID
,
string
customerID
,
string
name
,
long
yTDPoints
)
:
base
(
sessionId
,
messageType
)
{
RequestID
=
requestID
;
CustomerID
=
customerID
;
Name
=
name
;
YTDPoints
=
yTDPoints
;
}
public
override
string
TextoXML
{
get
=>
_xml
=
$"""
<?
xml
version
=
"1.0"
encoding
=
"UTF-8"
?>
<
schema
:
AddCustomerResponse
xmlns
:
schema
=
"http://bc.si.retail.ibm.com/POSBCSchema"
>
<
AddCustomerResult
>
<
RequestID
>{
RequestID
}</
RequestID
>
<
CustomerInfo
>
<
CustomerID
>{
CustomerID
}</
CustomerID
>
<
Name
>{
Name
}</
Name
>
<
YTDPoints
>{
YTDPoints
}</
YTDPoints
>
</
CustomerInfo
>
</
AddCustomerResult
>
</
schema
:
AddCustomerResponse
>
""";
}
}
}
gatewayGK/RespuestasXML/AddCustomer/AddCustomerResponseNoEncontrado.cs
0 → 100644
View file @
56f10e15
using
EvaPosSrvDTO
;
using
EvaPosSrvResp
;
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
using
System.Threading.Tasks
;
using
System.Xml.Linq
;
namespace
EvaPOS_API_FRAME.RespuestasXML.AddCustomer
{
/// <summary>
/// Respuesta cuando no se encuentra un cliente
/// </summary>
public
class
AddCustomerResponseNoEncontrado
:
Respuesta
{
public
int
RequestID
{
get
;
set
;
}
public
string
Message
{
get
;
set
;
}
public
string
ErrorCode
{
get
;
set
;
}
private
string
_xml
;
public
AddCustomerResponseNoEncontrado
(
int
sessionId
,
TipoMensaje
messageType
,
int
requestID
,
string
message
,
string
errorCode
)
:
base
(
sessionId
,
messageType
)
{
RequestID
=
requestID
;
Message
=
message
;
ErrorCode
=
errorCode
;
}
public
override
string
TextoXML
{
get
=>
_xml
=
$"""
<?
xml
version
=
"1.0"
encoding
=
"UTF-8"
?>
<
schema
:
AddCustomerResponse
xmlns
:
schema
=
"http://bc.si.retail.ibm.com/POSBCSchema"
>
<
AddCustomerResult
>
<
RequestID
>{
RequestID
}</
RequestID
>
<
ExceptionResult
>
<
Message
>{
Message
}</
Message
>
<
ErrorCode
>{
ErrorCode
}</
ErrorCode
>
</
ExceptionResult
>
</
AddCustomerResult
>
</
schema
:
AddCustomerResponse
>
""";
}
}
}
gatewayGK/RespuestasXML/AddItemResponse.cs
0 → 100644
View file @
56f10e15
using
EvaPOS_API_FRAME.DTO
;
using
EvaPosSrvDTO
;
using
EvaPosSrvResp
;
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Security.Policy
;
using
System.Text
;
using
System.Threading.Tasks
;
namespace
EvaPOS_API_FRAME.RespuestasXML
{
/// <summary>
/// Respuesta a petición de agregar item - (AddItemResponse)
/// </summary>
public
class
AddItemResponse
:
Respuesta
{
public
int
RequestID
{
get
;
set
;
}
public
string
Description
{
get
;
set
;
}
public
string
ReturnFlag
{
get
;
set
;
}
public
string
DepositFlag
{
get
;
set
;
}
public
string
VoidFlag
{
get
;
set
;
}
public
string
ItemIdentifier
{
get
;
set
;
}
public
string
ItemEntryMethod
{
get
;
set
;
}
public
string
RegularUnitPrice
{
get
;
set
;
}
//Prueba en string, porque en double hay error
public
string
ExtendedPrice
{
get
;
set
;
}
public
int
Quantity
{
get
;
set
;
}
public
double
Weight
{
get
;
set
;
}
public
string
DealPrice
{
get
;
set
;
}
public
int
DealQuantity
{
get
;
set
;
}
public
int
DepartmentNumber
{
get
;
set
;
}
public
int
MixAndMatchPricingGroup
{
get
;
set
;
}
public
string
PriceDerivationMethod
{
get
;
set
;
}
public
string
TimeRestrictedFlag
{
get
;
set
;
}
public
int
RestrictedAge
{
get
;
set
;
}
public
string
FoodStampEligibleFlag
{
get
;
set
;
}
public
string
WICEligibleFlag
{
get
;
set
;
}
public
string
ItemRepeatAllowedFlag
{
get
;
set
;
}
public
string
TaxableFlag
{
get
;
set
;
}
private
string
_xml
;
public
AddItemResponse
(
int
sessionId
,
TipoMensaje
messageType
,
int
requestID
,
string
description
,
string
returnFlag
,
string
depositFlag
,
string
voidFlag
,
string
itemIdentifier
,
string
itemEntryMethod
,
string
regularUnitPrice
,
int
quantity
,
string
extendedPrice
,
double
weight
,
string
dealPrice
,
int
dealQuantity
,
int
departmentNumber
,
int
mixAndMatchPricingGroup
,
string
priceDerivationMethod
,
string
timeRestrictedFlag
,
int
restrictedAge
,
string
foodStampEligibleFlag
,
string
wICEligibleFlag
,
string
itemRepeatAllowedFlag
,
string
taxableFlag
)
:
base
(
sessionId
,
messageType
)
{
RequestID
=
requestID
;
Description
=
description
;
ReturnFlag
=
returnFlag
;
DepositFlag
=
depositFlag
;
VoidFlag
=
voidFlag
;
ItemIdentifier
=
itemIdentifier
;
ItemEntryMethod
=
itemEntryMethod
;
RegularUnitPrice
=
regularUnitPrice
;
Quantity
=
quantity
;
ExtendedPrice
=
extendedPrice
;
Weight
=
weight
;
DealPrice
=
dealPrice
;
DealQuantity
=
dealQuantity
;
DepartmentNumber
=
departmentNumber
;
MixAndMatchPricingGroup
=
mixAndMatchPricingGroup
;
PriceDerivationMethod
=
priceDerivationMethod
;
TimeRestrictedFlag
=
timeRestrictedFlag
;
RestrictedAge
=
restrictedAge
;
FoodStampEligibleFlag
=
foodStampEligibleFlag
;
WICEligibleFlag
=
wICEligibleFlag
;
ItemRepeatAllowedFlag
=
itemRepeatAllowedFlag
;
TaxableFlag
=
taxableFlag
;
}
public
override
string
TextoXML
{
get
=>
_xml
=
$"""
<?
xml
version
=
"1.0"
encoding
=
"UTF-8"
?>
<
schema
:
AddItemResponse
xmlns
:
schema
=
"http://bc.si.retail.ibm.com/POSBCSchema"
>
<
AddItemResult
>
<
RequestID
>{
RequestID
}</
RequestID
>
<
LineItem
>
<
Description
>{
Description
}</
Description
>
<
ReturnFlag
>{
ReturnFlag
}</
ReturnFlag
>
<
DepositFlag
>{
DepositFlag
}</
DepositFlag
>
<
VoidFlag
>{
VoidFlag
}</
VoidFlag
>
<
ItemIdentifier
>{
ItemIdentifier
}</
ItemIdentifier
>
<
ItemEntryMethod
>{
ItemEntryMethod
}</
ItemEntryMethod
>
<
RegularUnitPrice
>{
RegularUnitPrice
}</
RegularUnitPrice
>
<
Quantity
>{
Quantity
}</
Quantity
>
<
ExtendedPrice
>{
ExtendedPrice
}</
ExtendedPrice
>
<
Weight
>{
Weight
}</
Weight
>
<
DealPrice
>{
DealPrice
}</
DealPrice
>
<
DealQuantity
>{
DealQuantity
}</
DealQuantity
>
<
DepartmentNumber
>{
DepartmentNumber
}</
DepartmentNumber
>
<
MixAndMatchPricingGroup
>{
MixAndMatchPricingGroup
}</
MixAndMatchPricingGroup
>
<
PriceDerivationMethod
>{
PriceDerivationMethod
}</
PriceDerivationMethod
>
<
TimeRestrictedFlag
>{
TimeRestrictedFlag
}</
TimeRestrictedFlag
>
<
RestrictedAge
>{
RestrictedAge
}</
RestrictedAge
>
<
FoodStampEligibleFlag
>{
FoodStampEligibleFlag
}</
FoodStampEligibleFlag
>
<
WICEligibleFlag
>{
WICEligibleFlag
}</
WICEligibleFlag
>
<
ItemRepeatAllowedFlag
>{
ItemRepeatAllowedFlag
}</
ItemRepeatAllowedFlag
>
<
TaxableFlag
>{
TaxableFlag
}</
TaxableFlag
>
</
LineItem
>
</
AddItemResult
>
</
schema
:
AddItemResponse
>
""";
}
}
}
gatewayGK/RespuestasXML/AddTenderDebitResponse.cs
0 → 100644
View file @
56f10e15
using
EvaPosSrvDTO
;
using
EvaPosSrvResp
;
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
using
System.Threading.Tasks
;
namespace
EvaPOS_API_FRAME.RespuestasXML
{
/// <summary>
/// Ultima respuesta cuando se va a pagar con tarjeta de credito
/// </summary>
public
class
AddTenderDebitResponse
:
Respuesta
{
public
int
RequestID
{
get
;
set
;
}
public
string
ReturnFlag
{
get
;
set
;
}
public
string
DepositFlag
{
get
;
set
;
}
public
string
VoidFlag
{
get
;
set
;
}
public
string
Amount
{
get
;
set
;
}
public
string
LineItemType
{
get
;
set
;
}
public
string
BalanceDueSatisfied
{
get
;
set
;
}
public
string
MaskedAccountNumber
{
get
;
set
;
}
public
int
ResponseCode
{
get
;
set
;
}
public
long
ApprovalCode
{
get
;
set
;
}
public
string
IsDeclined
{
get
;
set
;
}
public
string
ResponseCodeDescriptor
{
get
;
set
;
}
public
long
SequenceNumber
{
get
;
set
;
}
public
int
CashBackAmount
{
get
;
set
;
}
public
string
SignatureNeeded
{
get
;
set
;
}
private
string
_xml
;
public
AddTenderDebitResponse
(
int
sessionId
,
TipoMensaje
messageType
,
int
requestID
,
string
returnFlag
,
string
depositFlag
,
string
voidFlag
,
string
amount
,
string
lineItemType
,
string
balanceDueSatisfied
,
string
maskedAccountNumber
,
int
responseCode
,
long
approvalCode
,
long
sequenceNumber
,
int
cashBackAmount
,
string
isDeclined
,
string
responseCodeDescriptor
,
string
signatureNeeded
)
:
base
(
sessionId
,
messageType
)
{
RequestID
=
requestID
;
ReturnFlag
=
returnFlag
;
DepositFlag
=
depositFlag
;
VoidFlag
=
voidFlag
;
Amount
=
amount
;
LineItemType
=
lineItemType
;
BalanceDueSatisfied
=
balanceDueSatisfied
;
MaskedAccountNumber
=
maskedAccountNumber
;
ResponseCode
=
responseCode
;
ApprovalCode
=
approvalCode
;
IsDeclined
=
isDeclined
;
ResponseCodeDescriptor
=
responseCodeDescriptor
;
SequenceNumber
=
sequenceNumber
;
CashBackAmount
=
cashBackAmount
;
SignatureNeeded
=
signatureNeeded
;
}
public
override
string
TextoXML
{
//get => _xml = $"""
// <?xml version="1.0" encoding="UTF-8"?>
// <schema:AddTenderResponse xmlns:schema="http://bc.si.retail.ibm.com/POSBCSchema">
// <AddTenderResult>
// <RequestID>{RequestID}</RequestID>
// <DebitInfo>
// <ReturnFlag>{ReturnFlag}</ReturnFlag>
// <DepositFlag>{DepositFlag}</DepositFlag>
// <VoidFlag>{VoidFlag}</VoidFlag>
// <Amount>{Amount}</Amount>
// <LineItemType>{LineItemType}</LineItemType>
// <BalanceDueSatisfied>{BalanceDueSatisfied}</BalanceDueSatisfied>
// <LegalText>____________________________________</LegalText>
// <LegalText>Acepto pagar el importe total arriba indicado</LegalText>
// <LegalText>según el acuerdo con el emisor de la tarjeta</LegalText>
// <ReferenceNumber></ReferenceNumber>
// <MaskedAccountNumber>************{MaskedAccountNumber}</MaskedAccountNumber>
// <ResponseCode>{ResponseCode}</ResponseCode>
// <ApprovalCode>{ApprovalCode}</ApprovalCode>
// <SequenceNumber>{SequenceNumber}</SequenceNumber>
// <CashBackAmount>{CashBackAmount}</CashBackAmount>
// <IsDeclined>{IsDeclined}</IsDeclined>
// <ResponseCodeDescriptor>00 {ResponseCodeDescriptor}</ResponseCodeDescriptor>
// </DebitInfo>
// <SignatureNeeded>{SignatureNeeded}</SignatureNeeded>
// </AddTenderResult>
// </schema:AddTenderResponse>
// """;
get
=>
_xml
=
$"""
<?
xml
version
=
"1.0"
encoding
=
"UTF-8"
?>
<
schema
:
AddTenderResponse
xmlns
:
schema
=
"http://bc.si.retail.ibm.com/POSBCSchema"
>
<
AddTenderResult
>
<
RequestID
>{
RequestID
}</
RequestID
>
<
DebitInfo
>
<
ReturnFlag
>{
ReturnFlag
}</
ReturnFlag
>
<
DepositFlag
>{
DepositFlag
}</
DepositFlag
>
<
VoidFlag
>{
VoidFlag
}</
VoidFlag
>
<
Amount
>{
Amount
}</
Amount
>
<
LineItemType
>{
LineItemType
}</
LineItemType
>
<
BalanceDueSatisfied
>{
BalanceDueSatisfied
}</
BalanceDueSatisfied
>
<
LegalText
>
____________________________________
</
LegalText
>
<
LegalText
>
I
agree
to
pay
the
above
total
amount
</
LegalText
>
<
LegalText
>
according
to
the
card
issuer
agreement
</
LegalText
>
<
ReferenceNumber
/>
<
MaskedAccountNumber
>************{
MaskedAccountNumber
}</
MaskedAccountNumber
>
<
ResponseCode
>-
1
</
ResponseCode
>
<
ApprovalCode
>{
ApprovalCode
}</
ApprovalCode
>
<
SequenceNumber
>{
SequenceNumber
}</
SequenceNumber
>
<
CashBackAmount
>{
CashBackAmount
}</
CashBackAmount
>
<
IsDeclined
>{
IsDeclined
}</
IsDeclined
>
<
ResponseCodeDescriptor
>
00
{
ResponseCodeDescriptor
}
</
ResponseCodeDescriptor
>
</
DebitInfo
>
<
SignatureNeeded
>{
SignatureNeeded
}</
SignatureNeeded
>
</
AddTenderResult
>
</
schema
:
AddTenderResponse
>
""";
}
}
}
gatewayGK/RespuestasXML/AddTenderResponseError.cs
0 → 100644
View file @
56f10e15
using
EvaPosSrvDTO
;
using
EvaPosSrvResp
;
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
using
System.Threading.Tasks
;
namespace
EvaPOS_API_FRAME.RespuestasXML
{
public
class
AddTenderResponseError
:
Respuesta
{
public
int
RequestID
{
get
;
set
;
}
public
string
Message
{
get
;
set
;
}
public
string
ErrorCode
{
get
;
set
;
}
private
string
_xml
;
public
AddTenderResponseError
(
int
sessionId
,
TipoMensaje
messageType
,
int
requestID
,
string
message
,
string
errorCode
)
:
base
(
sessionId
,
messageType
)
{
RequestID
=
requestID
;
Message
=
message
;
ErrorCode
=
errorCode
;
}
public
override
string
TextoXML
{
get
=>
_xml
=
$"""
<?
xml
version
=
"1.0"
encoding
=
"UTF-8"
?>
<
schema
:
AddTenderResponse
xmlns
:
schema
=
"http://bc.si.retail.ibm.com/POSBCSchema"
>
<
AddTenderResult
>
<
RequestID
>{
RequestID
}</
RequestID
>
<
ExceptionResult
>
<
Message
>{
Message
}</
Message
>
<
ErrorCode
>{
ErrorCode
}</
ErrorCode
>
</
ExceptionResult
>
</
AddTenderResult
>
</
schema
:
AddTenderResponse
>
""";
}
}
}
gatewayGK/RespuestasXML/CancelDatafono/CancelActionResponse.cs
0 → 100644
View file @
56f10e15
using
EvaPosSrvDTO
;
using
EvaPosSrvResp
;
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
using
System.Threading.Tasks
;
namespace
EvaPOS_API_FRAME.RespuestasXML.CancelDatafono
{
/// <summary>
/// Respuesta cuando se cancela la transaccion por datafono
/// </summary>
public
class
CancelActionResponse
:
Respuesta
{
public
int
RequestID
{
get
;
set
;
}
private
string
_xml
;
public
CancelActionResponse
(
int
sessionId
,
TipoMensaje
messageType
,
int
requestID
)
:
base
(
sessionId
,
messageType
)
{
RequestID
=
requestID
;
}
public
override
string
TextoXML
{
get
=>
_xml
=
$"""
<?
xml
version
=
"1.0"
encoding
=
"UTF-8"
?>
<
schema
:
CancelActionResponse
xmlns
:
xsi
=
"http://www.w3.org/2001/XMLSchema-instance"
xmlns
:
schema
=
"http://bc.si.retail.ibm.com/POSBCSchema"
>
<
CancelActionResult
>
<
RequestID
>{
RequestID
}</
RequestID
>
<
ExceptionResult
>
<
Message
xsi
:
nil
=
"true"
/>
<
ErrorCode
>
UNSUPPORTED_OPERATION
</
ErrorCode
>
</
ExceptionResult
>
</
CancelActionResult
>
</
schema
:
CancelActionResponse
>
""";
}
}
}
gatewayGK/RespuestasXML/CancelTransaction/VoidTransactionResponse.cs
0 → 100644
View file @
56f10e15
using
EvaPOS_API_FRAME.DTO
;
using
EvaPosSrvDTO
;
using
EvaPosSrvResp
;
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
using
System.Threading.Tasks
;
namespace
EvaPOS_API_FRAME.RespuestasXML.CancelTransaction
{
/// <summary>
/// Respuesta a petición de cancelar transacción
/// </summary>
public
class
VoidTransactionResponse
:
Respuesta
{
public
int
RequestID
{
get
;
set
;
}
private
string
_xml
;
public
VoidTransactionResponse
(
int
sessionId
,
TipoMensaje
messageType
,
int
requestID
)
:
base
(
sessionId
,
messageType
)
{
RequestID
=
requestID
;
}
public
override
string
TextoXML
{
get
=>
_xml
=
$"""
<?
xml
version
=
"1.0"
encoding
=
"UTF-8"
?>
<
schema
:
VoidTransactionResponse
xmlns
:
schema
=
"http://bc.si.retail.ibm.com/POSBCSchema"
>
<
VoidTransactionResult
>
<
RequestID
>{
RequestID
}</
RequestID
>
</
VoidTransactionResult
>
</
schema
:
VoidTransactionResponse
>
""";
}
}
}
gatewayGK/RespuestasXML/GetTotalsResponse.cs
0 → 100644
View file @
56f10e15
using
EvaPosSrvDTO
;
using
EvaPosSrvResp
;
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
using
System.Threading.Tasks
;
namespace
EvaPOS_API_FRAME.RespuestasXML
{
/// <summary>
/// Respuesta a petición de finalizar y pagar, cuarta respuesta
/// </summary>
public
class
GetTotalsResponse
:
Respuesta
{
public
int
RequestID
{
get
;
set
;
}
public
string
Total
{
get
;
set
;
}
public
string
SubTotal
{
get
;
set
;
}
public
string
Tax
{
get
;
set
;
}
public
string
BalanceDue
{
get
;
set
;
}
public
string
ChangeDue
{
get
;
set
;
}
public
string
FoodstampChangeDue
{
get
;
set
;
}
public
string
FoodstampTotal
{
get
;
set
;
}
public
string
FoodstampBalanceDue
{
get
;
set
;
}
public
string
CouponTotal
{
get
;
set
;
}
public
int
TotalItems
{
get
;
set
;
}
public
int
TotalCoupons
{
get
;
set
;
}
public
string
TotalSavings
{
get
;
set
;
}
public
string
TenderApplied
{
get
;
set
;
}
private
string
_xml
;
public
GetTotalsResponse
(
int
sessionId
,
TipoMensaje
messageType
,
int
requestID
,
string
total
,
string
subtotal
,
string
tax
,
string
balanceDue
,
string
changeDue
,
string
foodstampChangeDue
,
string
foodstampTotal
,
string
foodstampBalanceDue
,
string
couponTotal
,
int
totalItems
,
int
totalCoupons
,
string
totalSavings
,
string
tenderApplied
)
:
base
(
sessionId
,
messageType
)
{
RequestID
=
requestID
;
Total
=
total
;
SubTotal
=
subtotal
;
Tax
=
tax
;
BalanceDue
=
balanceDue
;
ChangeDue
=
changeDue
;
FoodstampChangeDue
=
foodstampChangeDue
;
FoodstampTotal
=
foodstampTotal
;
FoodstampBalanceDue
=
foodstampBalanceDue
;
CouponTotal
=
couponTotal
;
TotalItems
=
totalItems
;
TotalCoupons
=
totalCoupons
;
TotalSavings
=
totalSavings
;
TenderApplied
=
tenderApplied
;
}
public
override
string
TextoXML
{
get
=>
_xml
=
$"""
<?
xml
version
=
"1.0"
encoding
=
"UTF-8"
?>
<
schema
:
GetTotalsResponse
xmlns
:
schema
=
"http://bc.si.retail.ibm.com/POSBCSchema"
>
<
GetTotalsResult
>
<
RequestID
>{
RequestID
}</
RequestID
>
<
TransactionTotals
>
<
Total
>{
Total
}</
Total
>
<
SubTotal
>{
SubTotal
}</
SubTotal
>
<
Tax
>{
Tax
}</
Tax
>
<
BalanceDue
>{
BalanceDue
}</
BalanceDue
>
<
ChangeDue
>{
ChangeDue
}</
ChangeDue
>
<
FoodstampChangeDue
>{
FoodstampChangeDue
}</
FoodstampChangeDue
>
<
FoodstampTotal
>{
FoodstampTotal
}</
FoodstampTotal
>
<
FoodstampBalanceDue
>{
FoodstampBalanceDue
}</
FoodstampBalanceDue
>
<
CouponTotal
>{
CouponTotal
}</
CouponTotal
>
<
TotalItems
>{
TotalItems
}</
TotalItems
>
<
TotalCoupons
>{
TotalCoupons
}</
TotalCoupons
>
<
TotalSavings
>{
TotalSavings
}</
TotalSavings
>
<
TenderApplied
>{
TenderApplied
}</
TenderApplied
>
</
TransactionTotals
>
</
GetTotalsResult
>
</
schema
:
GetTotalsResponse
>
""";
//get => _xml = $"""
// <?xml version="1.0" encoding="UTF-8"?>
// <schema:GetTotalsResponse xmlns:schema="http://bc.si.retail.ibm.com/POSBCSchema">
// <GetTotalsResult>
// <RequestID>104</RequestID>
// <TransactionTotals>
// <Total>3.99</Total>
// <SubTotal>3.99</SubTotal>
// <Tax>0.00</Tax>
// <BalanceDue>3.99</BalanceDue>
// <ChangeDue>0.00</ChangeDue>
// <FoodstampChangeDue>0.00</FoodstampChangeDue>
// <FoodstampTotal>0.00</FoodstampTotal>
// <FoodstampBalanceDue>0.00</FoodstampBalanceDue>
// <CouponTotal>0.00</CouponTotal>
// <TotalItems>1</TotalItems>
// <TotalCoupons>0</TotalCoupons>
// <TotalSavings>0.00</TotalSavings>
// <TenderApplied>0.00</TenderApplied>
// </TransactionTotals>
// </GetTotalsResult>
// </schema:GetTotalsResponse>
// """;
}
}
}
gatewayGK/RespuestasXML/InitializeResponse.cs
0 → 100644
View file @
56f10e15
using
EvaPosSrvDTO
;
using
EvaPosSrvResp
;
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
using
System.Threading.Tasks
;
namespace
EvaPOS_API_FRAME.RespuestasXML
{
/// <summary>
/// Respuesta a petición de inicialización de POS.
/// </summary>
public
class
InitializeResponse
:
Respuesta
{
public
int
RequestID
{
get
;
private
set
;
}
private
string
_xml
;
public
InitializeResponse
(
int
sessionId
,
TipoMensaje
messageType
,
int
requestID
)
:
base
(
sessionId
,
messageType
)
{
RequestID
=
requestID
;
}
// P2L_3_POSBCStatusEvent
public
override
string
TextoXML
{
get
=>
_xml
=
$"""
<?
xml
version
=
"1.0"
encoding
=
"UTF-8"
?>
<
schema
:
InitializeResponse
xmlns
:
schema
=
"http://bc.si.retail.ibm.com/POSBCSchema"
>
<
InitializeResult
>
<
RequestID
>{
RequestID
}</
RequestID
>
</
InitializeResult
>
</
schema
:
InitializeResponse
>
""";
}
}
}
Prev
1
2
3
4
5
6
7
Next
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment