|
TNS Payment Gateway
This page details the inputs, secure inputs and outputs available for the TNS Payment Gateway, how to complete each field, and an external link to the TNS integration documentation.
PCI Pal must check any payment gateway integrations prior to going live. The documentation disclaimer (which applies throughout this guide) should be read before commencing any configuration of payment gateways.
Inputs
Input Fields
|
Required
|
Character Limits/
Required Input
|
Description
|
currency
|
Yes
|
3 chars
|
3 letter currency ISO code. e.g. GBP, USD, EUR.
|
nameOnCard
|
Yes
|
n/a
|
Name on the front of the credit card
|
amount
|
Yes
|
n/a
|
The amount for the transaction
|
id
|
No
|
35 chars
|
Identifier of the payment session containing values for any of the request fields to be used in this operation
|
reference
|
Yes
|
40 chars
|
Unique identifier which is sent in with the URL for that payment
|
merchantId
|
Yes
|
n/a
|
Merchant specific ID which is given to the customer by Mastercard on creation of their account
|
billingStreet1
|
No
|
100 AN
|
Billing address line 1
|
billingStreet2
|
No
|
100 AN
|
Billing address line 2
|
billingCity
|
No
|
100 chars
|
Billing address city
|
billingState
|
No
|
20 chars
|
Billing address state
|
billingPostcode
|
No
|
10 AN
|
Billing address postcode
|
billingCountry
|
No
|
3 chars
|
Billing address country
|
billingCompany
|
No
|
100 chars
|
Billing address company
|
firstName
|
No
|
50 chars
|
The customers first name
|
lastName
|
No
|
50 chars
|
The customers last name
|
email
|
No
|
n/a
|
The customers email address
|
mobilePhone
|
No
|
15 num
|
The customers mobile phone number
|
phone
|
No
|
15 num
|
The customers landline number
|
shippingStreet1
|
Yes
|
100 chars
|
Shipping address line 1
|
shippingStreet2
|
No
|
100 chars
|
Shipping address line 2
|
shippingCity
|
No
|
100 chars
|
Shipping address city
|
shippingState
|
No
|
20 chars
|
Shipping address state
|
shippingPostcode
|
No
|
10 AN
|
Shipping address postcode
|
shippingCountry
|
No
|
3 chars
|
Shipping address country
|
shippingCompany
|
No
|
100 chars
|
Shipping address company
|
orderid
|
Yes
|
40 num
|
Unique order ID to be sent in with the request.
|
Secure Inputs
Input Fields
|
Required
|
Character Limits/
Required Input
|
Description
|
number
|
Yes
|
19 chars
|
Secure input of the card number
|
expiryMonth
|
Yes
|
2 chars
|
Secure input of the card expiry - in the format MM
|
expiryMonth
|
Yes
|
2 chars
|
Secure input of the card expiry - in the format YY
|
securityCode
|
Yes
|
3 or 4 chars
|
Secure input of the card CVV, either three or four digits long depending on the card
|
Outputs
Output Fields
|
Description
|
result
|
A system-generated high level overall result of the operation
|
version
|
The Web Services API version that you submitted the request in
|
transaction.id
|
Unique identifier for this transaction to distinguish it from any other transaction on the order
|
transaction.type
|
Indicates the type of action performed on the order
|
transaction.amount
|
The total amount for the transaction
|
transaction.source
|
Indicates the channel through which the transaction was initiated (MOTO)
|
transaction.receipt
|
A unique reference generated by the acquirer for a specific merchant interaction
|
transaction.currency
|
The currency of the transaction expressed as an ISO 4217 alpha code, e.g. USD
|
transaction.terminal
|
The terminal configured at the processor/acquirer used to process the transaction
|
transaction.frequency
|
Indicates the frequency of the transaction offered to the payer
|
transaction.reference
|
An optional identifier for this transaction
|
transaction.authorizationCode
|
Value generated by the issuing bank in response to a proposal to transfer funds
|
transaction.acquirer.merchantId
|
An identifier allocated by an acquirer to the merchant
|
transaction.acquirer.id
|
The ID for the acquirer used to process the transaction
|
transaction.acquirer.batch
|
The processor's identifier for the settlement batch
|
order.id
|
A unique identifier for this order to distinguish it from any other order you create
|
order.currency
|
The currency of the order expressed as an ISO 4217 alpha code, e.g. USD
|
order.amount
|
The total amount for the order. This is the net amount plus any surcharge
|
order.status
|
The current progression of this order through the payment process
|
order.creationTime
|
The timestamp indicating the time the gateway considers the order to have been created
|
order.chargeback.amount
|
The total amount that has been successfully debited from the merchant's account as a result of chargebacks against this order
|
order.chargeback.currency
|
The currency of the order expressed as an ISO 4217 alpha code, e.g. USD.
|
order.totalCapturedAmount
|
The amount that has been successfully captured for this order
|
order.totalRefundedAmount
|
The amount that has been successfully refunded for this order
|
order.merchantCategoryCode
|
A 4-digit code used to classify your business by the type of goods or services it offers.This is also known as the Merchant Category Code (MCC)
|
order.totalAuthorizedAmount
|
The amount that has been successfully authorized for this order
|
billing.address.street
|
The first line of the address
|
billing.address.city
|
The city portion of the address
|
billing.address.stateProvince
|
The state or province of the address
|
billing.address.postcodeZip
|
The post code or zip code of the address
|
billing.address.country
|
The 3 letter ISO standard alpha country code of the address
|
billing.address.company
|
The name of the company associated with this address
|
customer.email
|
The email address of the customer
|
customer.firstName
|
The payer's first name
|
customer.lastName
|
The payer's last or surname
|
shipping.address.street
|
The first line of the address
|
shipping.address.city
|
The city portion of the address
|
shipping.address.stateProvince
|
The state or province of the address
|
shipping.address.postcodeZip
|
The post code or zip code of the address
|
shipping.address.country
|
The 3 letter ISO standard alpha country code of the address
|
shipping.address.company
|
The name of the company associated with this address
|
response.gatewayCode
|
Summary of the success or otherwise of the operation
|
response.acquirerCode
|
Value as generated by the acquirer that summarizes the success or otherwise of the proposed operation
|
response.cardSecurityCode.gatewayCode
|
The card security code result generated to indicate whether the data supplied matches the data held by the cardholder's issuing bank
|
response.cardSecurityCode.acquirerCode
|
The acquirer CSC response code generated by the card issuing institution
|
response.acquirerMessage
|
The response from the acquirer in the text form
|
merchant
|
The unique identifier issued to you by your payment provider
|
sourceOfFunds.type
|
The payment method used for this payment (CARD)
|
sourceOfFunds.provided.card.brand
|
The brand name used to describe the card that is recognized and accepted globally
|
sourceOfFunds.provided.card.number
|
The account number of the payer's account used for the payment.
|
sourceOfFunds.provided.card.scheme
|
The organization that owns a card brand and defines operating regulations for its use
|
sourceOfFunds.provided.card.issuer
|
The issuer of the card, if known
|
sourceOfFunds.provided.card.nameOnCard
|
The cardholder's name as printed on the card
|
sourceOfFunds.provided.card.expiry.year
|
Year, as shown on the card
|
sourceOfFunds.provided.card.expiry.month
|
Month, as shown on the card
|
sourceOfFunds.provided.card.storedOnFile
|
This field only applies if you collect cards from your payers, store them, and either you or your payers use the stored value for subsequent payments
|
sourceOfFunds.provided.card.fundingMethod
|
The method used by the payer to provide the funds for the payment
|
gatewayEntryPoint
|
The interface through which the transaction is submitted to the gateway (WEB_SERVICES_API)
|
timeOfRecord
|
Transaction Date
|
error.explanation
|
Textual description of the error based on the cause
|
error.cause
|
Broadly categorizes the cause of the error
|
Alongside these details, we will require the API Username and API Password in order to generate the Basic Authentication Header value that gets sent in with every request.
Further information can be found by viewing the integration documentation: