Skip to content

[Bug]: TerminalApiSyncService. Timeout if using SaleToAcquirerData #1159

@Tommixoft

Description

@Tommixoft

Description

TerminalApiSyncService returns timeout error when Message contains SaleToAcquirerData object.

Steps to reproduce

static SaleToPOIRequest CreatePosPaymentRequest(decimal Amount, string TerminalId, string Reference, string MerchantReference)
{
    var saleToPoiRequest = new SaleToPOIRequest
    {
        MessageHeader = new MessageHeader
        {
            MessageType = Adyen.Model.TerminalApi.MessageType.Request,
            MessageClass = MessageClassType.Service,
            MessageCategory = MessageCategoryType.Payment,
            SaleID = Reference,
            POIID = TerminalId,
            ServiceID = DateTime.Now.ToString("ddHHmmss")
        },
        MessagePayload = new Adyen.Model.TerminalApi.PaymentRequest
        {
            SaleData = new SaleData
            {
                SaleTransactionID = new TransactionIdentification
                {
                    TransactionID = MerchantReference,
                    TimeStamp = DateTime.Now
                },

                SaleToAcquirerData = new Adyen.Model.Terminal.SaleToAcquirerData()
                {
                    AdditionalData = new Dictionary<string, string> { { "authorisationType", "PreAuth" }, { "manualCapture", "true" } }
                },

                CustomerOrderID = MerchantReference
            },
            PaymentTransaction = new PaymentTransaction
            {
                AmountsReq = new AmountsReq
                {
                    Currency = "EUR",
                    RequestedAmount = Amount
                }
            }
        },
        SecurityTrailer = new ContentInformation()
    };
    return saleToPoiRequest;
} 

Actual behavior

No response

Expected behavior

For some reason if i add SaleToAcquirerData to message i always receive adyen's http client timeout error. It can be AdditionalData, i also tried setting AuthorisationType and not creating AdditionalData - result are the same.
If removed SaleToAcquirerData from message body - all works.

Code snippet or screenshots (if applicable)

static SaleToPOIRequest CreatePosPaymentRequest(decimal Amount, string TerminalId, string Reference, string MerchantReference)
{
    var saleToPoiRequest = new SaleToPOIRequest
    {
        MessageHeader = new MessageHeader
        {
            MessageType = Adyen.Model.TerminalApi.MessageType.Request,
            MessageClass = MessageClassType.Service,
            MessageCategory = MessageCategoryType.Payment,
            SaleID = Reference,
            POIID = TerminalId,
            ServiceID = DateTime.Now.ToString("ddHHmmss")
        },
        MessagePayload = new Adyen.Model.TerminalApi.PaymentRequest
        {
            SaleData = new SaleData
            {
                SaleTransactionID = new TransactionIdentification
                {
                    TransactionID = MerchantReference,
                    TimeStamp = DateTime.Now
                },

                SaleToAcquirerData = new Adyen.Model.Terminal.SaleToAcquirerData()
                {
                    AdditionalData = new Dictionary<string, string> { { "authorisationType", "PreAuth" }, { "manualCapture", "true" } }
                },

                CustomerOrderID = MerchantReference
            },
            PaymentTransaction = new PaymentTransaction
            {
                AmountsReq = new AmountsReq
                {
                    Currency = "EUR",
                    RequestedAmount = Amount
                }
            }
        },
        SecurityTrailer = new ContentInformation()
    };
    return saleToPoiRequest;
}

Adyen .NET API Library version

32.0

.NET version

.net 6

Operating System

Windows

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions