Token Request

A code sample of TokenRequest for Sale transaction can be seen below.

PosClientService _posClientService = new PosTcpClientService(ipAddress: "127.0.0.1", port: 5002);

//Optional: TransactionConfig can also be set via configuration files, see "Configuration files" documentation for more information.
_posClientService.TransactionConfig = new Credential
{
    CustomerCode = "ABF",
    Site = "PXP000000001",
    Workstation = "001",
    Merchant = "1234567890",
    Username = "PXPUser",
    Password = "Testing",
    Culture = "en"
};

//Optional: PedConfig can also be set via configuration files, see "Configuration files" documentation for more information.
_posClientService.PedConfig = new PedEndpointAddress
{
    EndpointAddressType = PedEndpointAddressType.Serial,
    SerialEndpointAddress = new SerialEndpointAddress
    {
        ComPort = "com9"
    }
};

var tokenRequest = new TokenRequest {
	Workstation = "001",
	AuthorisationType = AuthorisationConnectionType.OnlineAuthorization,
	Currency = "GBP",
	Amount = 10.50M,
	DateTime = DateTime.Now,
	TransactionReference = "TokenSale",
	TransactionType = TransactionType.Sale,
	TokenisedCardNumber = "9919000000000150011",
	CustomerPresent = false
};

var tokenResponse = await _posClientService.ProcessAsync(tokenRequest);

Console.WriteLine(tokenResponse.ResponseCode);
Console.WriteLine(tokenResponse.ResponseMessage);
Console.WriteLine(tokenResponse.FaultResponseCode);
Console.WriteLine(tokenResponse.CaptureMethod);
Console.WriteLine(tokenResponse.AuthorityCode);
Console.WriteLine(tokenResponse.AuthorityMethod);
Console.WriteLine(tokenResponse.TransactionReference);
Console.WriteLine(tokenResponse.Token);
Console.WriteLine(tokenResponse.ReceiptXML);

The following tables contain TokenRequest objects and their detailed definitions. The field definitions are divided into request fields and response fields.

 TokenRequest

Field Name Type (C#) Mandatory Description
Workstation string Yes This is the workstation number, a unique workstation ID allocated to a workstation when the service is set up
AuthorisationType Enum Yes

This is the authorisation type to distinguish if the transaction is processed online or offline, including:

OnlineAuthorisation is used with Sale/Refund/PreAuthorisation

OfflineAuthorisation is used with Sale/Refund

Currency string Yes This is the currency of the transaction. This is the currency code. A three character code in accordance with ISO 4217
Amount decimal Yes This is the monetary value of the transaction in minor units
DateTime DateTime No This is the current date and time of the transaction on the computer, expressed as the local time
TransactionReference string Yes This is the merchant's own unique reference for the transaction
TransactionType Enum Yes

This is a transaction type of the transaction, including:

Sale

Refund

Preauthorisation

TokenisedCardNumber string Yes This is the tokenized card number to uniquely identify a card number
CustomerPresent bool No This is to define if the customer presents when transaction is made or not

 TokenResponse

Field Name Type (C#) Mandatory Description
ResponseCode string  Yes This is the response code indicating the result of the processing operation
FaultResponseCode int  Yes This is the code indicating the reason when the response code is an "Error"
ResponseMessage  string Yes This is the human readable message from either the acquirer or the ANYpay service that describes the Response Code
AuthorityCode  string Yes This is the authorization code provided by the acquirer, card issuer or ANYpay
AuthorityMethod string  Yes This is the method used to authorize the transaction
CaptureMethod Enum  Yes The card data capture method
TransactionReference  string Yes This is the merchant's own unique reference for the request
Token  string  Yes This is the token generated by ANYpay to uniquely identify a transaction
ReceiptXML string Yes This is an XML receipt which complies EMV receipt requirement. This following page lists objects and their detailed definitions of each XML parameter.