Transactions

Get transactions list.

SecurityBearer or Bearer or Bearer or Bearer
Request
query Parameters
page
integer <int32>
pageSize
integer <int32>
asc
boolean
orderBy
string
createMethodId
integer <int32>
createdById
string <uuid>
Responses
200

Success

400

Bad Request

404

Not Found

500

Server Error

get/pay-api/v1/transactions
Request samples
Response samples
application/json

Total = amount of items, Items = transactions list

{
  • "items": [
    ],
  • "total": 16
}

Endpoint for authorization.

SecurityBearer or Bearer or Bearer or Bearer
Request
Request Body schema: application/json
paymentProcessorId
string <uuid>
customerId
string or null <uuid>

Customer ID

paymentMethodId
string or null <uuid>

Customer payment method ID

amount
number <double>

The amount of the transaction.

tipAmount
number or null <double>

The amount of the tips.

tipRate
number or null <double>

The rate of the tips.

currencyId
integer <int32>

Currency ID

percentageOffRate
number or null <double>

The percent of Amount. to be discounted.

surchargeRate
number or null <double>

The percent of transaction amount to be added to Amount after PercentageOffRate is applied.

useCardPrice
boolean or null

Parameter is mandatory when merchant has ZeroCostProcessingOption == Dual Pricing. Parameter must be null when merchant has other ZeroCostProcessingOption. For Dual Pricing, amount should be the card price and useCardPrice should be "true", or amount should be the cash price and useCardPrice should be "false".

object (PaymentGateway.Contracts.Transactions.AddressDto)

A commonly used address structure.

Not all teh fields are used in Tsys, but, generally ought to be provided.

object (PaymentGateway.Contracts.Transactions.AddressDto)

A commonly used address structure.

Not all teh fields are used in Tsys, but, generally ought to be provided.

object (PaymentGateway.Contracts.Transactions.ContactInfoDto)

This group contains fields regarding a customer's contact details such as email id, phone no. etc.

accountNumber
string or null

The 13-19 digit card number used for the transaction. This field may contain a token issued against a card number. This is de-tokenized by TransIT to process the transaction.

securityCode
string or null

The three or four digit security code on the credit card.

expirationMonth
integer or null <int32>

The expiration month of the card

expirationYear
integer or null <int32>

The expiration year of the card

track1
string or null

The card data from track 1 of the magnetic stripe.

track2
string or null

Information stored on the magnetic stripe of a credit or debit card, including the card number, expiration date, and cardholder's name.

emvTags
Array of strings or null

Each tag corresponds to a particular piece of data stored on the card.

emvPaymentAppVersion
string or null

The version number of the payment application in use.

cardDataSource
required
integer <int32> (PaymentGateway.Contracts.Enums.CardDataSource)

Possible values:

  • 1 - Internet: Virtual Terminal, ISV API
  • 2 - Swipe: Track1, Track2
  • 3 - NFC: EMV Tags, Track2
  • 4 - EMV: EMV Tags
  • 5 - EMVContactless: EMV Tags
  • 6 - FallbackSwipe: Track 2
  • 7 - Manual: Card present keyed transaction.
Enum: 1 2 3 4 5 6 7
pin
string or null
pinKsn
string or null
emvFallbackCondition
integer <int32> (PaymentGateway.Contracts.Enums.EMVFallbackCondition)

Possible values:

  • 0 - ICCTerminalError:
  • 1 - NoCandidateList:
Enum: 0 1
emvFallbackLastChipRead
integer <int32> (PaymentGateway.Contracts.Enums.EMVFallbackLastChipRead)

Possible values:

  • 0 - Successful:
  • 1 - Failed:
  • 2 - NotAChipTransaction:
  • 3 - Unknown:
Enum: 0 1 2 3
referenceId
string or null
object (PaymentGateway.Contracts.PublicApi.Isv.Transactions.IsvL2Data)
object (PaymentGateway.Contracts.PublicApi.Isv.Transactions.IsvL3Data)
Responses
200

Success

400

Bad Request

404

Not Found

500

Server Error

post/pay-api/v1/transactions/auth
Request samples
application/json
{
  • "paymentProcessorId": "bd4fc4c6-40e0-4508-b770-b26ef7f04331",
  • "customerId": null,
  • "paymentMethodId": null,
  • "amount": 123.45,
  • "tipAmount": 1,
  • "tipRate": null,
  • "currencyId": 1,
  • "percentageOffRate": 3,
  • "surchargeRate": 4,
  • "useCardPrice": null,
  • "billingAddress": {
    },
  • "shippingAddress": {
    },
  • "contactInfo": {
    },
  • "accountNumber": "4111111111111111",
  • "securityCode": "123",
  • "expirationMonth": 12,
  • "expirationYear": 24,
  • "track1": null,
  • "track2": null,
  • "emvTags": null,
  • "emvPaymentAppVersion": null,
  • "cardDataSource": 1,
  • "pin": null,
  • "pinKsn": null,
  • "emvFallbackCondition": null,
  • "emvFallbackLastChipRead": null,
  • "referenceId": null,
  • "l2": null,
  • "l3": null
}
Response samples
application/json

Transaction, type Authorization, status = Authorized. Transaction status after an approved pre-authorization request

{
  • "processedAmount": 10,
  • "avsResponse": {
    },
  • "transactionId": "00000000-0000-0000-0000-000000000000",
  • "transactionDateTime": "2024-08-07T15:02:38.2982715Z",
  • "typeId": 1,
  • "type": "Authorization",
  • "statusId": 1,
  • "status": "Authorized",
  • "details": {
    }
}

Endpoint for sale.

SecurityBearer or Bearer or Bearer or Bearer
Request
Request Body schema: application/json
paymentProcessorId
string <uuid>

Payment Processor Id

customerId
string or null <uuid>

Customer ID

paymentMethodId
string or null <uuid>

Customer payment method ID

amount
number <double>

The amount of the transaction.

tipAmount
number or null <double>

The amount of the tips.

tipRate
number or null <double>

The rate of the tips.

currencyId
integer <int32>

Currency ID

percentageOffRate
number or null <double>

The percent of Amount. to be discounted.

surchargeRate
number or null <double>

The percent of transaction amount to be added to Amount after PercentageOffRate is applied.

useCardPrice
boolean or null

Parameter is mandatory when merchant has ZeroCostProcessingOption == Dual Pricing. Parameter must be null when merchant has other ZeroCostProcessingOption. For Dual Pricing, amount should be the card price and useCardPrice should be "true", or amount should be the cash price and useCardPrice should be "false".

object (PaymentGateway.Contracts.Transactions.AddressDto)

A commonly used address structure.

Not all teh fields are used in Tsys, but, generally ought to be provided.

object (PaymentGateway.Contracts.Transactions.AddressDto)

A commonly used address structure.

Not all teh fields are used in Tsys, but, generally ought to be provided.

object (PaymentGateway.Contracts.Transactions.ContactInfoDto)

This group contains fields regarding a customer's contact details such as email id, phone no. etc.

accountNumber
string or null

The 13-19 digit card number used for the transaction. This field may contain a token issued against a card number. This is de-tokenized by TransIT to process the transaction.

securityCode
string or null

The three or four digit security code on the credit card.

expirationMonth
integer or null <int32>

The expiration month of the card

expirationYear
integer or null <int32>

The expiration year of the card

track1
string or null

The card data from track 1 of the magnetic stripe.

track2
string or null

Information stored on the magnetic stripe of a credit or debit card, including the card number, expiration date, and cardholder's name.

emvTags
Array of strings or null

Each tag corresponds to a particular piece of data stored on the card.

emvPaymentAppVersion
string or null

The version number of the payment application in use.

cardDataSource
required
integer <int32> (PaymentGateway.Contracts.Enums.CardDataSource)

Possible values:

  • 1 - Internet: Virtual Terminal, ISV API
  • 2 - Swipe: Track1, Track2
  • 3 - NFC: EMV Tags, Track2
  • 4 - EMV: EMV Tags
  • 5 - EMVContactless: EMV Tags
  • 6 - FallbackSwipe: Track 2
  • 7 - Manual: Card present keyed transaction.
Enum: 1 2 3 4 5 6 7
pin
string or null

Encrypted PIN for the terminal.

pinKsn
string or null

The KSN for DUKPT PIN encryption. Required only if the PIN is encrypted using DUKPT.

debit
boolean or null

IF Debit THEN use card as a debit card, else use card as a credit card

emvFallbackCondition
integer <int32> (PaymentGateway.Contracts.Enums.EMVFallbackCondition)

Possible values:

  • 0 - ICCTerminalError:
  • 1 - NoCandidateList:
Enum: 0 1
emvFallbackLastChipRead
integer <int32> (PaymentGateway.Contracts.Enums.EMVFallbackLastChipRead)

Possible values:

  • 0 - Successful:
  • 1 - Failed:
  • 2 - NotAChipTransaction:
  • 3 - Unknown:
Enum: 0 1 2 3
referenceId
string or null

ReferenceId to distinguish two transactions conducted over a short time frame.

object (PaymentGateway.Contracts.PublicApi.Isv.Transactions.IsvL2Data)
object (PaymentGateway.Contracts.PublicApi.Isv.Transactions.IsvL3Data)
Responses
200

Success

400

Bad Request

404

Not Found

500

Server Error

post/pay-api/v1/transactions/sale
Request samples
application/json
{
  • "paymentProcessorId": "bab8b12d-bd67-4714-a80c-1d139c5366d6",
  • "customerId": null,
  • "paymentMethodId": null,
  • "amount": 123.45,
  • "tipAmount": 1,
  • "tipRate": null,
  • "currencyId": 1,
  • "percentageOffRate": 3,
  • "surchargeRate": 4,
  • "useCardPrice": null,
  • "billingAddress": {
    },
  • "shippingAddress": {
    },
  • "contactInfo": {
    },
  • "accountNumber": "4111111111111111",
  • "securityCode": "123",
  • "expirationMonth": 12,
  • "expirationYear": 24,
  • "track1": null,
  • "track2": null,
  • "emvTags": null,
  • "emvPaymentAppVersion": null,
  • "cardDataSource": 1,
  • "pin": null,
  • "pinKsn": null,
  • "debit": null,
  • "emvFallbackCondition": null,
  • "emvFallbackLastChipRead": null,
  • "referenceId": null,
  • "l2": null,
  • "l3": null
}
Response samples
application/json

Transaction, type Authorization, status = Authorized. Transaction status after an approved pre-authorization request

{
  • "processedAmount": 10,
  • "avsResponse": {
    },
  • "transactionId": "00000000-0000-0000-0000-000000000000",
  • "transactionDateTime": "2024-08-07T15:02:38.4683034Z",
  • "typeId": 1,
  • "type": "Authorization",
  • "statusId": 1,
  • "status": "Authorized",
  • "details": {
    }
}

Endpoint for transaction capture.

SecurityBearer or Bearer or Bearer or Bearer
Request
Request Body schema: application/json
amount
required
number <double>

The amount of the transaction.

transactionId
required
string <uuid>

TransactionEntity ID to capture.

Responses
200

Success

400

Bad Request

404

Not Found

500

Server Error

post/pay-api/v1/transactions/capture
Request samples
application/json
{
  • "amount": 123.45,
  • "transactionId": "634f84b1-71dd-4e44-941e-a1b9f6cfe086"
}
Response samples
application/json
{
  • "transactionId": "75906707-8c31-479c-b354-aa805c4cefbc",
  • "transactionDateTime": "2019-08-24T14:15:22Z",
  • "typeId": 0,
  • "type": "string",
  • "statusId": 0,
  • "status": "string",
  • "details": {
    }
}

Endpoint for transaction refund/return.

SecurityBearer or Bearer or Bearer or Bearer
Request
Request Body schema: application/json
track1
string or null

The card data from track 1 of the magnetic stripe.

track2
string or null

Information stored on the magnetic stripe of a credit or debit card, including the card number, expiration date, and cardholder's name.

emvTags
Array of strings or null

Each tag corresponds to a particular piece of data stored on the card.

emvPaymentAppVersion
string or null

The version number of the payment application in use.

cardDataSource
required
integer <int32> (PaymentGateway.Contracts.Enums.CardDataSource)

Possible values:

  • 1 - Internet: Virtual Terminal, ISV API
  • 2 - Swipe: Track1, Track2
  • 3 - NFC: EMV Tags, Track2
  • 4 - EMV: EMV Tags
  • 5 - EMVContactless: EMV Tags
  • 6 - FallbackSwipe: Track 2
  • 7 - Manual: Card present keyed transaction.
Enum: 1 2 3 4 5 6 7
pin
string or null
pinKsn
string or null
transactionId
required
string <uuid>

Transaction ID to return.

amount
number or null <double>

Amount

Responses
200

Success

400

Bad Request

404

Not Found

500

Server Error

post/pay-api/v1/transactions/return
Request samples
application/json

Transaction Id is required

{
  • "track1": null,
  • "track2": null,
  • "emvTags": null,
  • "emvPaymentAppVersion": null,
  • "cardDataSource": 0,
  • "pin": null,
  • "pinKsn": null,
  • "transactionId": "d0972a2a-c3c4-4c85-a6bc-55855d4e14c1",
  • "amount": null
}
Response samples
application/json
{
  • "transactionId": "75906707-8c31-479c-b354-aa805c4cefbc",
  • "transactionDateTime": "2019-08-24T14:15:22Z",
  • "typeId": 0,
  • "type": "string",
  • "statusId": 0,
  • "status": "string",
  • "details": {
    }
}

Endpoint for transaction refund/return without reference.

SecurityBearer or Bearer or Bearer or Bearer
Request
Request Body schema: application/json
paymentProcessorId
required
string <uuid>
customerId
string or null <uuid>

Customer ID

amount
number <double>

The amount of the transaction.

currencyId
required
integer <int32>

Currency ID

accountNumber
string or null

The 13-19 digit card number used for the transaction. This field may contain a token issued against a card number. This is de-tokenized by TransIT to process the transaction.

securityCode
string or null

The three or four digit security code on the credit card.

expirationMonth
integer or null <int32>

The expiration month of the card

expirationYear
integer or null <int32>

The expiration year of the card

track1
string or null

Magnetic track 1.

track2
string or null

Magnetic track 2.

emvTags
Array of strings or null

Holds data fetched from a EMV Chip Credit/Debit card to perform transaction. That is a string array of variable size, should be used as is.

emvPaymentAppVersion
string or null

The version number of the payment application in use.

cardDataSource
required
integer <int32> (PaymentGateway.Contracts.Enums.CardDataSource)

Possible values:

  • 1 - Internet: Virtual Terminal, ISV API
  • 2 - Swipe: Track1, Track2
  • 3 - NFC: EMV Tags, Track2
  • 4 - EMV: EMV Tags
  • 5 - EMVContactless: EMV Tags
  • 6 - FallbackSwipe: Track 2
  • 7 - Manual: Card present keyed transaction.
Enum: 1 2 3 4 5 6 7
object (PaymentGateway.Contracts.Transactions.AddressDto)

A commonly used address structure.

Not all teh fields are used in Tsys, but, generally ought to be provided.

object (PaymentGateway.Contracts.Transactions.AddressDto)

A commonly used address structure.

Not all teh fields are used in Tsys, but, generally ought to be provided.

object (PaymentGateway.Contracts.Transactions.ContactInfoDto)

This group contains fields regarding a customer's contact details such as email id, phone no. etc.

pin
string or null

Encrypted PIN for the terminal.

pinKsn
string or null

The KSN for DUKPT PIN encryption. Required only if the PIN is encrypted using DUKPT.

debit
required
boolean

IF Debit THEN use card as a debit card, else use card as a credit card

emvFallbackCondition
integer <int32> (PaymentGateway.Contracts.Enums.EMVFallbackCondition)

Possible values:

  • 0 - ICCTerminalError:
  • 1 - NoCandidateList:
Enum: 0 1
emvFallbackLastChipRead
integer <int32> (PaymentGateway.Contracts.Enums.EMVFallbackLastChipRead)

Possible values:

  • 0 - Successful:
  • 1 - Failed:
  • 2 - NotAChipTransaction:
  • 3 - Unknown:
Enum: 0 1 2 3
referenceId
string or null

ReferenceId to distinguish two transactions conducted over a short time frame.

Responses
200

Success

400

Bad Request

404

Not Found

500

Server Error

post/pay-api/v1/transactions/return/no-reference
Request samples
application/json
{
  • "paymentProcessorId": "9e70be43-46d2-497b-a4f9-0da758fbf28a",
  • "customerId": null,
  • "amount": 10.1,
  • "currencyId": 1,
  • "accountNumber": null,
  • "securityCode": null,
  • "expirationMonth": null,
  • "expirationYear": null,
  • "track1": "B5413330056003511^CUST IMP MC 351/^2512101000000000",
  • "track2": null,
  • "emvTags": null,
  • "emvPaymentAppVersion": null,
  • "cardDataSource": 2,
  • "billingAddress": null,
  • "shippingAddress": null,
  • "contactInfo": null,
  • "pin": "1111",
  • "pinKsn": "2222222222",
  • "debit": false,
  • "emvFallbackCondition": null,
  • "emvFallbackLastChipRead": null,
  • "referenceId": "123456"
}
Response samples
application/json

Transaction, type Authorization, status = Authorized. Transaction status after an approved pre-authorization request

{
  • "processedAmount": 10,
  • "avsResponse": {
    },
  • "transactionId": "00000000-0000-0000-0000-000000000000",
  • "transactionDateTime": "2024-08-07T15:02:38.6931136Z",
  • "typeId": 1,
  • "type": "Authorization",
  • "statusId": 1,
  • "status": "Authorized",
  • "details": {
    }
}

Endpoint for transactions settle.

SecurityBearer or Bearer or Bearer or Bearer
Request
Request Body schema: application/json
paymentProcessorId
required
string <uuid>
Responses
200

Success

400

Bad Request

404

Not Found

500

Server Error

post/pay-api/v1/transactions/settle
Request samples
application/json
{
  • "paymentProcessorId": "4be3a181-c7cc-4960-8b56-a0e57c2fb4ec"
}
Response samples
application/json
{
  • "code": 0,
  • "message": "string",
  • "processorResponseCode": "string"
}

Endpoint for transaction voiding.

SecurityBearer or Bearer or Bearer or Bearer
Request
Request Body schema: application/json
transactionId
required
string <uuid>

Transaction ID to void

Responses
200

Success

400

Bad Request

404

Not Found

500

Server Error

post/pay-api/v1/transactions/void
Request samples
application/json
{
  • "transactionId": "67297352-ca6b-4bce-a822-6f8077ad0287"
}
Response samples
application/json
{
  • "transactionId": "75906707-8c31-479c-b354-aa805c4cefbc",
  • "transactionDateTime": "2019-08-24T14:15:22Z",
  • "typeId": 0,
  • "type": "string",
  • "statusId": 0,
  • "status": "string",
  • "details": {
    }
}

Get transaction receipt.

SecurityBearer or Bearer or Bearer or Bearer
Request
path Parameters
id
required
string <uuid>
Responses
200

Success

400

Bad Request

404

Not Found

500

Server Error

get/pay-api/v1/transactions/{id}
Request samples
Response samples
application/json
{
  • "transactionId": "00000000-0000-0000-0000-000000000000",
  • "transactionDateTime": "2024-08-06T15:02:38.9706507Z",
  • "baseAmount": 100,
  • "totalAmount": 100,
  • "amount": {
    },
  • "currencyId": 1,
  • "currency": "USD",
  • "processorId": "00000000-0000-0000-0000-000000000000",
  • "processor": "TSYS Sample",
  • "operationTypeId": 1,
  • "operationType": "PayNow",
  • "paymentMethodTypeId": 1,
  • "paymentMethodType": "Card",
  • "transactionTypeId": 1,
  • "transactionType": "Authorization",
  • "customerPan": "************4512",
  • "statusId": 1,
  • "status": "Authorized",
  • "merchantName": "Your Company",
  • "merchantAddress": "WallStreet 1, New York",
  • "merchantPhoneNumber": "1555123123",
  • "merchantEmailAddress": "support@company.com",
  • "merchantWebsite": "",
  • "authCode": null,
  • "source": {
    },
  • "tsysCardDetails": null,
  • "achDetails": null,
  • "availableOperations": [
    ],
  • "avsResponse": {
    }
}

Tip adjustment.

SecurityBearer or Bearer or Bearer or Bearer
Request
Request Body schema: application/json
transactionId
string <uuid>

Transaction Id

tipAmount
number <double>

Adjusted amount of tips

Responses
200

Success

400

Bad Request

404

Not Found

500

Server Error

post/pay-api/v1/transactions/tip-adjustment
Request samples
application/json
{
  • "transactionId": "783296b7-aa66-4619-9cb5-4fa118fc60b3",
  • "tipAmount": 10
}
Response samples
application/json
{
  • "transactionId": "75906707-8c31-479c-b354-aa805c4cefbc",
  • "transactionDateTime": "2019-08-24T14:15:22Z",
  • "typeId": 0,
  • "type": "string",
  • "statusId": 0,
  • "status": "string",
  • "details": {
    }
}

Send transaction receipt by SMS.

SecurityBearer or Bearer or Bearer or Bearer
Request
path Parameters
id
required
string <uuid>
Request Body schema: application/json
phoneNumber
required
string non-empty

Phone number

customerConsent
required
boolean

Customer consent

Responses
200

Success

400

Bad Request

404

Not Found

500

Server Error

post/pay-api/v1/transactions/{id}/send-transaction-receipt-by-sms
Request samples
application/json
{
  • "phoneNumber": "string",
  • "customerConsent": true
}
Response samples
application/json
{
  • "phoneNumber": "string",
  • "customerConsent": true
}