Syntch Gateway API

<back to all web services

CreateTransactionRequest

Transaction Processing (V1)
Requires Authentication
Required role:Merchant
The following routes are available for this service:
POST/transactionsRun a transaction with a card or checkTransactions may be processed using all supported payment types including Credit, Debit, Check, Cash, Gift and Loyalty. Tokens may also be used for processing against a stored payment method.
CreateTransactionRequest Parameters:
NameParameterData TypeRequiredDescription
TransactionTypemodelTransactionTypesYesIdentifies the type of transaction to process.

Allowable Values

  • Authorization
  • Sale
  • Return
  • Void
  • Force
  • Capture
  • CaptureAll
  • RepeatSale
  • Adjustment
  • Activate
  • Deactivate
  • Redeem
  • Inquire
  • Reload
CardDatamodelCardDataNoProperties of the card/account used as payment for this transaction, if the payment type is card.
CheckDatamodelCheckDataNoProperties of the check/checking account used as payment for this transaction, if the payment type is check.
DeviceDatamodelDeviceDataNoProperties of the terminal/reader used in the transaction.
FsamodelFsaNoOptional detail amount fields used in the processing of FSA/HSA processing.
SoftDescriptormodelSoftDescriptorNoFields necessary to submit alternate merchant information for this transaction, when supported by the processor.
ForceDuplicatemodelbooleanNoThis is an indicator that specifies - if this transaction is flagged as a duplicate of a previous transaction - whether or not this transaction will be processed.
RegistermodelstringNoIdentifies the physical or virtual register where the transaction is run, for reporting.
InvoiceDatamodelInvoiceYesTracking/reporting fields used for identifying the transaction and associating it with a customer invoice.
OriginalTransactionmodelOriginalTransactionNoProperties of the original transaction, when necessary for processing the current transaction (such as refunds, voids, reversals).
CustomFieldsmodelCustomField[]NoMerchant-configured fields used to store data per transaction outside the system fields.
SignatureDatamodelSignatureDataNoUsed to accept and store image data for receipts captured on an external device.
Level2DatamodelLevel2DataNoRequired to qualify transactions for level 2 processing.
Level3DatamodelLevel3DataNo
AuthCodemodelstringNoOriginal authorization/approval code, required for Force transactions.
UseInterchangeDefaultsmodelbool?NoWhether or not to provide the default values as specified for the applicable merchant in the interchange optimization configuration.
CaptureTypemodelCaptureTypesNoRequired for capture/capture all transactions. Indicates what type of payment to capture.

Allowable Values

  • Credit
  • Debit
  • Check
  • EBT
TransactionTypes Enum:
NameValue
Authorization1
Sale2
Return3
Void4
Force5
Capture6
RepeatSale7
CaptureAll8
Adjustment9
Activate10
Deactivate11
Redeem12
Inquire13
Reload14
CardData Parameters:
NameParameterData TypeRequiredDescription
CardNumbermodelstringNoCredit card number used to uniquely identify the card owner’s account.
ExpirationDatemodelstringNoCredit card date of expiration in MMYY format.
Cvvmodelint?NoCard verification number. Note: This parameter may be required depending on the merchant’s setup.
NameOnCardmodelstringNoName of the cardholder, as displayed on the card
PinmodelstringNoThe encrypted PIN-block returned by the PIN pad. The transaction will fail if an unencrypted PIN is used. Note: This information is not required for PIN-less debit transactions.
KeySerialNumbermodelstringNoPIN pad serial number used in managing DUKPT PIN pads. This is required for all transactions where a pin is present
TokenmodelstringNoA value generated by the gateway for payment data which has been previously stored. The format of the value depends on the format selected when the payment method was originally stored.
EmvDatamodelstringNoThe TLV (tag-length-value) string provided by the certified, emv-capable terminal. This value should not be modified before transmission.
TrackDatamodelstringNoThe magnetic stripe/track data read from a swiped transaction. If the card reader is capable of reading both track 1 and track 2, only track 2 should be provided.
EncryptedTrack1DatamodelstringNoThe encrypted magnetic stripe/track 1 data read from a secure reader
EncryptedTrack2DatamodelstringNoThe encrypted magnetic stripe/track 2 data read from a secure reader
EncryptedTrack3DatamodelstringNoThe encrypted magnetic stripe/track 3 data read from a secure reader
IINmodelstringNoThe card IIN when using an encrypted magnetic stripe/track data read from a secure reader
ARQCmodelstringNoThe encrypted ARQC generated from a secure reader chip-based transaction
EntryModemodelEntryModesNoThe method in which card data was collected. This is used in conjunction with other properties of the transaction to determine the correct values for card and cardholder presence to send to the processor.

Allowable Values

  • Manual
  • Swipe
  • ICC
  • Proximity
CvPresencemodelCVPresenceNoThe presence/status of the card verification number on the card and in the transaction

Allowable Values

  • None
  • NotSubmitted
  • Submitted
  • Illegible
  • NotPresent
StreetmodelstringNoThe billing address of the card. Used for AVS (address verification) if it is enabled for the merchant
ZipCodemodelstringNoThe billing zip code of the card. Used for AVS (address verification) if it is enabled for the merchant
PhonemodelstringNoCard owner's phone number.
EmailmodelstringNoCard owner's email address.
EntryModes Enum:
unknown
notApplicable
manual
unencryptedCardReaderSwipe
encryptedCardReaderSwipe
icc
proximity
fallback
CVPresence Enum:
none
notSubmitted
submitted
illegible
notPresent
CheckData Parameters:
NameParameterData TypeRequiredDescription
NameOnCheckmodelstringYesName of the check owner
RoutingNumbermodelstringYesUniquely identifies the bank holding funds.
AccountNumbermodelstringYesUniquely identifies the check owner’s bank account.
CheckNumbermodelstringNoUniquely identifies an individual’s check.
MICRmodelstringNoMagnetic Ink Character Recognition. Note: This input is required for processing check-present and consumer-present transactions.
DriversLicensemodelstringNoCheck owner’s driver’s license number.
StatemodelstringNoCheck owner’s two-character state code.
SSNmodelstringNoCheck owner's social security number.
DateOfBirthmodelstringNoCheck owner's date of birth.
CheckTypemodelCheckTypeNoIdentifies the type of check used in the transaction.
AccountTypemodelCheckAccountTypeNoIdentifies the type of account used as a source of funds.
RawMICRmodelstringNoRaw Magnetic Ink Check Reader data line from the check reader.
BranchCitymodelstringNoCity of the check owner's bank branch.
EmailAddressmodelstringNoCheck owner's email address.
TelephoneNumbermodelstringNoCheck owner's phone number.
TokenmodelstringNoA value generated by the gateway for payment data which has been previously stored. The format of the value depends on the format selected when the payment method was originally stored.
AddressmodelAddressNoAddress data on the check holder.
SECCodemodelstringNoSets the Standard Entry Class code for the transaction.

Allowable Values

  • CCD
  • PPD
  • WEB
  • ARC
  • TEL
CheckType Enum:
NameValue
Personal1
Business2
CheckAccountType Enum:
NameValue
Checking1
Savings2
Address Parameters:
NameParameterData TypeRequiredDescription
StreetAddress1modelstringYesThe street address, max 50 chars
StreetAddress2modelstringNoThe street address 2, max 50 chars
StreetAddress3modelstringNoThe street address 3, max 50 chars
CitymodelstringNoThe city, max 50 chars
StateOrProvinceCodemodelstringYesThe CHAR-2 USA state and CAN province codes

Allowable Values

  • AK
  • AL
  • AR
  • AZ
  • CA
  • CO
  • CT
  • DC
  • DE
  • FL
  • GA
  • HI
  • IA
  • ID
  • IL
  • IN
  • KS
  • KY
  • LA
  • MA
  • MD
  • ME
  • MI
  • MN
  • MO
  • MS
  • MT
  • NC
  • ND
  • NE
  • NH
  • NJ
  • NM
  • NV
  • NY
  • OH
  • OK
  • OR
  • PA
  • RI
  • SC
  • SD
  • TN
  • TX
  • UT
  • VA
  • VT
  • WA
  • WI
  • WV
  • WY
  • AB
  • BC
  • MB
  • NB
  • NL
  • NS
  • NT
  • NU
  • ON
  • PE
  • QC
  • SK
  • YT
PostalCodemodelstringYesThe postal code, max 30 chars
CountryCodemodelstringYesThe ISO Alpha-3 USA or CAN country codes

Allowable Values

  • USA
  • CAN
DeviceData Parameters:
NameParameterData TypeRequiredDescription
SdkVersionformstringNoThe SDK version of the device
SerialNumberformstringNoThe serial number of the device
BatteryLevelformint?NoThe current battery level of the device
IsEncryptedformboolNoIndicates whether or not transaction data sent from the device is encrypted
EncryptionTypeformstringNoType of encryption used when transaction data is encrypted
Fsa Parameters:
NameParameterData TypeRequiredDescription
partialAuthSupportmodelboolNoEnables/disables partial authorizations for FSA transactions
qhpAmountmodelfloatNoIdentifies the total Healthcare amount. When additional FSA amounts are supported by a merchant, this amount includes those totals.
rxAmountmodelfloatNoTotal amount of prescriptions used to gain access to Rxonly purses. This amount is included in the Total QHP Amount.
visionAmountmodelfloatNoTotal amount of vision care purchases. This amount is included in Total QHP Amount.
dentalAmountmodelfloatNoTotal amount of dental services. This amount is included in Total QHP Amount.
clinicalAmountmodelfloatNoTotal amount of clinic or other medical services. This amount is included in Total QHP Amount.
copayAmountmodelfloatNoTotal amount for co-payments
transitAmountmodelfloatNoTotal amount for transit purchases; mass transit passes, for example
SoftDescriptor Parameters:
NameParameterData TypeRequiredDescription
AltMerchantNamemodelstringNoContains the merchant name/product/service to be used in lieu of the DBA name on file.
AltMerchantAddressmodelstringNoContains the merchant address to be used in lieu of the merchant address on file.
AltMerchantCitymodelstringNoContains the merchant city to be used in lieu of the merchant city on file.
AltMerchantStatemodelstringNoContains the merchant state to be used in lieu of the merchant state on file.
AltMerchantZipmodelstringNoContains the merchant zip to be used in lieu of the merchant zip on file.
Invoice Parameters:
NameParameterData TypeRequiredDescription
customerIdmodelstringNoUnique identifier for the customer/cardholder
totalAmountmodelfloatYesTotal amount of the transaction
tipAmountmodelfloatNoAmount charged at the cardholder's discretion for tip/gratuity
taxAmountmodelfloat?NoAmount charged by a merchant for state/local sales tax
shippingAmountmodelfloatNoAmount charged by a merchant for shipping physical goods
convenienceAmountmodelfloatNoAllows the merchant to add a flat fee to the total transaction. This function may be used by utility companies, government agencies, and schools.
convenienceAmountPercentagemodelfloatNoAllows the merchant to add a percentage of the total amount as a fee to the total transaction (ex 10.5 would add a 10.5% fee). This function may be used by utility companies, government agencies, and schools.
surchargeAmountmodelfloatNoAmount charged by a merchant in exchange for processing a specific transaction
cashbackAmountmodelfloatNoAmount requested by the card holder in cash back for an eligible transaction
isEstimatedAmountmodelboolNoSet this to True when the amount sent in the initial transaction is an estimate. Visa transactions only.
isTaxExemptmodelboolNoSet this to True if this purchase is exempt from sales tax.
OriginalTransaction Parameters:
NameParameterData TypeRequiredDescription
pnRefmodelintNoUnique payment reference number used to identify a single transaction within the system. The payment reference number (PNRef) is assigned by the payment server at the time the transaction is created.
authCodemodelstringNoOriginal authorization/approval code
CustomField Parameters:
NameParameterData TypeRequiredDescription
Keymodelint?NoGateway key for the custom field
NamemodelstringNoName of the custom field as set by the merchant
ValuemodelstringNoValue (if applicable) to store in the custom field
SignatureData Parameters:
NameParameterData TypeRequiredDescription
signatureTypemodelSignatureTypesNoIdentifies the format of the signature data being provided
datamodelstringNoThis parameter holds the data string containing the signature data. If SignatureType = Signature4, the SignatureData will contain a string value of vector coordinates, delimited with a ^ character in the following format: x1,y1^x2,y2^xN,yN^~ Where ^ is the coordinate delimiter, ~ is the ending delimiter, and a comma (,) is the vector delimiter. If there is a pen up event, use the coordinate 0,65535 to signal a break in the line. If SignatureType = Receipt1, you must compress and Base64 encode the image data.
SignatureTypes Enum:
signature1
signature2
signature3
signature4
hypercomLegacy
hypercomEnhanced
receipt1
Level2Data Parameters:
NameParameterData TypeRequiredDescription
poNumbermodelstringNoA merchant-assigned number to identify the customer or the purchase order
transactionDatemodelDateTimeNoThe date the transaction occurs. May be today's date, or a past/future date depending on the type of transaction and goods delivered.
merchantZipmodelstringNoZip code of the merchant's location
taxAmountmodelfloat?NoPortion of the transaction representing sales tax.
Level3Data Parameters:
NameParameterData TypeRequiredDescription
shipFromZipmodelstringNoThe source zip code, if goods are shipped
destinationZipmodelstringNoThe destination/delivery zip code, if goods are shipped
invoiceNumbermodelstringNoThe invoice ID is assigned by the merchant. This identifier can be used to locate a specific transaction or multiple transactions grouped under a single invoice
orderNumbermodelstringNoA merchant-assigned identifier to describe the entire order
lineItemsmodelLevel3LineItem[]NoIndividual line items for the order/invoice
Level3LineItem Parameters:
NameParameterData TypeRequiredDescription
productCodemodelstringNoThe product code, which may be the same as the UPC
commodityCodemodelstringNoDerived from international tariff codes and describes the items included in the purchase
descriptionmodelstringNoDescription/details of the product(s)
upcmodelstringNoUPC code for the product
invoiceNumbermodelstringNoThe invoice ID is assigned by the merchant. This identifier can be used to locate a specific transaction or multiple transactions grouped under a single invoice
taxTypemodelstringNoDescribes the type of tax charged for the transaction
quantitymodelfloatNoNumber of units purchased
unitPricemodeldecimalNoPrice per unit
discountAmountmodelfloatNoAmount of applied discount, if any
totalAmountmodelfloatNoTotal line item amount
taxAmountmodelfloatNoRepresents the amount of tax
taxRatemodelfloatNoPercentage of the transaction to charge in tax
extendedAmountmodelfloatNoIndividual item amount that is normally calculated as price multiplied by quantity.
freightAmountmodelfloatNoRepresents the amount for freight/shipping
dutyAmountmodelfloatNoRepresents the amount for duty, if applicable
taxIncludedmodelboolNoWhether or not the total amounts include tax (gross vs net)
CaptureTypes Enum:
NameValue
Credit1
Debit2
Check3
EBT4
Transaction Parameters:
NameParameterData TypeRequiredDescription
amountDatamodelAmountDataNoAmounts associated with the transaction.
InvoiceDatamodelInvoiceNoTracking/reporting fields used for identifying the transaction and associating it with a customer invoice.
hostCodemodelstringNoOptional host code/transaction id.
authCodemodelstringNoAuthorization code.
merchantKeymodelintNoSystem-generated unique identifier of the merchant.
resultCodemodelintNoGateway code indicating the result of the transaction or error.

Allowable Values

  • -100:Transaction NOT Processed; Generic Host Error
  • 0:Approved
  • 1:User Authentication Failed
  • 2:Invalid Transaction
  • 3:Invalid Transaction Type
  • 4:Invalid Amount
  • 5:Invalid Merchant Information
  • 7:Field Format Error
  • 8:Not a Transaction Server
  • 9:Invalid Parameter Stream
  • 10:Too Many Line Items
  • 11:Client Timeout Waiting for Response
  • 12:Decline
  • 13:Referral
  • 14:Transaction Type Not Supported in This Version
  • 19:Original Transaction ID Not Found
  • 20:Customer Reference Number Not Found
  • 22:Invalid ABA Number
  • 23:Invalid Account Number
  • 24:Invalid Expiration Date
  • 25:Transaction Type Not Supported by Host
  • 26:Invalid Reference Number
  • 27:Invalid Receipt Information
  • 28:Invalid Check Holder Name
  • 29:Invalid Check Number
  • 30:Check DL Verification Requires DL State
  • 40:Transaction did not connect
  • 50:Insufficient Funds Available
  • 99:General Error
  • 100:Invalid Transaction Returned from Host
  • 101:Timeout Value too Small or Invalid Time Out Value
  • 102:Processor Not Available
  • 103:Error Reading Response from Host
  • 104:Timeout waiting for Processor Response
  • 105:Credit Error
  • 106:Host Not Available
  • 107:Duplicate Suppression Timeout
  • 108:Void Error
  • 109:Timeout Waiting for Host Response
  • 110:Duplicate Transaction
  • 111:Capture Error
  • 112:Failed AVS Check
  • 113:Cannot Exceed Sales Cap
  • 1000:Generic Host Error
  • 1001:Invalid Login
  • 1002:Insufficient Privilege or Invalid Amount
  • 1003:Invalid Login Blocked
  • 1004:Invalid Login Deactivated
  • 1005:Transaction Type Not Allowed
  • 1006:Unsupported Processor
  • 1007:Invalid Request Message
  • 1008:Invalid Version
  • 1010:Payment Type Not Supported
  • 1011:Error Starting Transaction
  • 1012:Error Finishing Transaction
  • 1013:Error Checking Duplicate
  • 1014:No Records to Settle
  • 1015:No Records to Process
resultTextmodelstringNoShort description of the transaction result.
pnRefmodelintNoGateway transaction ID/reference number.
messagemodelstringNoText description of the transaction result or error.
message1modelstringNoText description of the transaction result or error.
message2modelstringNoText description of the transaction result or error.
binDatamodelBinDataNoData returned from a BIN lookup on the card.
validationDatamodelCardValidationDataNoAVS/CVV response data.
customFieldsmodelCustomField[]NoAny merchant-defined custom fields and their associated values.
tokenmodelstringNoA token for this transaction.
rawEMVResponsemodelstringNoRaw EMV response from the processor (if any).
AmountData Parameters:
NameParameterData TypeRequiredDescription
AuthorizedAmountformdecimal?NoThe amount authorized at the processor for the transaction. When partial authorization is disabled/not-supported this amount will be the same as the totalAmount. If partial authorization is allowed and a transaction receives a partial approval, this will be the amount authorized.
TotalAmountformdecimal?NoThe total amount of the transaction. This may be greater than the authorized amount if partial authorizations are enabled.
RemainingBalanceformdecimal?NoFor pre-paid, gift, and EBT cards this will show the balance remaining on the card when the processor returns the necessary balance data.
BinData Parameters:
NameParameterData TypeRequiredDescription
BinformlongNoThe BIN/first 6 digits of the card
CardBrandformstringNoThe card brand (VISA, MasterCard, American Express, etc
IssuingOrgformstringNoThe organization/bank that issued the card
CardTypeformstringNoTypically debit or credit
CardCategoryformstringNoThe category indicating special types of card such as corporate, purchasing, and prepaid
IssuingCountryformstringNoThe country where the card was issued
IssuingCountryCodeA2formstringNoThe A2 country code
IssuingCountryCodeA3formstringNoThe A3 country code
IssuingCountryNumberformint?NoThe issuing country number
IssuingPhoneformstringNoPhone number, if available, of the issuing organization
IssuingWebsiteformstringNoWeb site, if available, of the issuing organization
PanLengthformint?NoThe length of credit card number
IssuedEntityformstringNoDefines if the BIN is PERSONAL or COMMERCIAL
IsRegulatedformboolNoIndicates if the card is regulated
IsCommercialformboolNoTrue if the IssuedEntity is equal to 'COMMERCIAL'
CardValidationData Parameters:
NameParameterData TypeRequiredDescription
avsResponsemodelstringNoAddress verification response code
cvResponsemodelstringNoCard verification response code
avsResponseTextmodelstringNoText representation of the AVS response
cvResultTextmodelstringNoText representation of the CVV response
streetMatchTextmodelstringNoAdditional detail on the AVS street match
zipMatchTextmodelstringNoAdditional detail on the AVS zip match

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /transactions HTTP/1.1 
Host: syntch.simpay.net 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	TransactionType: Authorization,
	CardData: 
	{
		CardNumber: String,
		ExpirationDate: String,
		Cvv: 0,
		NameOnCard: String,
		Pin: String,
		KeySerialNumber: String,
		Token: String,
		EmvData: String,
		TrackData: String,
		EncryptedTrack1Data: String,
		EncryptedTrack2Data: String,
		EncryptedTrack3Data: String,
		IIN: String,
		ARQC: String,
		EntryMode: unknown,
		CvPresence: none,
		Street: String,
		ZipCode: String,
		Phone: String,
		Email: String
	},
	CheckData: 
	{
		NameOnCheck: String,
		RoutingNumber: String,
		AccountNumber: String,
		CheckNumber: String,
		MICR: String,
		DriversLicense: String,
		State: String,
		SSN: String,
		DateOfBirth: String,
		CheckType: Personal,
		AccountType: Checking,
		RawMICR: String,
		BranchCity: String,
		EmailAddress: String,
		TelephoneNumber: String,
		Token: String,
		Address: 
		{
			StreetAddress1: String,
			StreetAddress2: String,
			StreetAddress3: String,
			City: String,
			StateOrProvinceCode: String,
			PostalCode: String,
			CountryCode: String
		},
		SECCode: String
	},
	DeviceData: 
	{
		SdkVersion: String,
		SerialNumber: String,
		BatteryLevel: 0,
		IsEncrypted: False,
		EncryptionType: String
	},
	Fsa: 
	{
		partialAuthSupport: False,
		qhpAmount: 0,
		rxAmount: 0,
		visionAmount: 0,
		dentalAmount: 0,
		clinicalAmount: 0,
		copayAmount: 0,
		transitAmount: 0
	},
	SoftDescriptor: 
	{
		AltMerchantName: String,
		AltMerchantAddress: String,
		AltMerchantCity: String,
		AltMerchantState: String,
		AltMerchantZip: String
	},
	ForceDuplicate: False,
	Register: String,
	InvoiceData: 
	{
		customerId: String,
		totalAmount: 0,
		tipAmount: 0,
		taxAmount: 0,
		shippingAmount: 0,
		convenienceAmount: 0,
		convenienceAmountPercentage: 0,
		surchargeAmount: 0,
		cashbackAmount: 0,
		isEstimatedAmount: False,
		isTaxExempt: False
	},
	OriginalTransaction: 
	{
		pnRef: 0,
		authCode: String
	},
	CustomFields: 
	[
		{
			Key: 0,
			Name: String,
			Value: String
		}
	],
	SignatureData: 
	{
		signatureType: signature1,
		data: String
	},
	Level2Data: 
	{
		poNumber: String,
		transactionDate: 0001-01-01,
		merchantZip: String,
		taxAmount: 0
	},
	Level3Data: 
	{
		shipFromZip: String,
		destinationZip: String,
		invoiceNumber: String,
		orderNumber: String,
		lineItems: 
		[
			{
				productCode: String,
				commodityCode: String,
				description: String,
				upc: String,
				invoiceNumber: String,
				taxType: String,
				quantity: 0,
				unitPrice: 0,
				discountAmount: 0,
				totalAmount: 0,
				taxAmount: 0,
				taxRate: 0,
				extendedAmount: 0,
				freightAmount: 0,
				dutyAmount: 0,
				taxIncluded: False
			}
		]
	},
	AuthCode: String,
	UseInterchangeDefaults: False,
	CaptureType: Credit
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	amountData: 
	{
		AuthorizedAmount: 0,
		TotalAmount: 0,
		RemainingBalance: 0
	},
	InvoiceData: 
	{
		customerId: String,
		totalAmount: 0,
		tipAmount: 0,
		taxAmount: 0,
		shippingAmount: 0,
		convenienceAmount: 0,
		convenienceAmountPercentage: 0,
		surchargeAmount: 0,
		cashbackAmount: 0,
		isEstimatedAmount: False,
		isTaxExempt: False
	},
	hostCode: String,
	authCode: String,
	merchantKey: 0,
	resultCode: 0,
	resultText: String,
	pnRef: 0,
	message: String,
	message1: String,
	message2: String,
	binData: 
	{
		Bin: 0,
		CardBrand: String,
		IssuingOrg: String,
		CardType: String,
		CardCategory: String,
		IssuingCountry: String,
		IssuingCountryCodeA2: String,
		IssuingCountryCodeA3: String,
		IssuingCountryNumber: 0,
		IssuingPhone: String,
		IssuingWebsite: String,
		PanLength: 0,
		IssuedEntity: String,
		IsRegulated: False,
		IsCommercial: False
	},
	validationData: 
	{
		avsResponse: String,
		cvResponse: String,
		avsResponseText: String,
		cvResultText: String,
		streetMatchText: String,
		zipMatchText: String
	},
	customFields: 
	[
		{
			Key: 0,
			Name: String,
			Value: String
		}
	],
	token: String,
	rawEMVResponse: String
}