Daily Data Feed

To support your record keeping and analytics requirements, Vesta generates a daily data file and posts the file to a directory on our SFTP server that is only accessible by your company. You are responsible for downloading daily data feed each day.

The sections below define the file format and the fields that are included in the file.

Click here to download a sample daily data feed CSV file.

File Format

The daily data feed is a CSV file that adheres to the RFC 4180 specification, with one exception: the file does not have the same number of fields on each line. However, it does have the same number of fields for each line in each section of the file.

The list below describes the format of the daily data feed:

  • Quotes - Per the RFC 4180 document published on October 2005, on page 3, sections 6 and 7, fields containing line breaks (CRLF), double quotes, and commas will be enclosed in double quotes. A double quote appearing inside a field will be escaped by preceding it with another double quote.
  • Headers - The first line of the file is the Header record. The Header record is not the standard field naming header per the specification. It is a unique record that provides information about the file as a batch.
  • Footers - The last line of the file is the Footer record. It contains record checksum data that will be used to validate the contents of the file.
  • Detail Records - Each line of the Detail section of the file should contain the same number of fields throughout the section. Any source values that are missing or null will translate to an empty field in a line. For example, the AddressLine2 field is optional and frequently does not have a value in the source data. A record with a missing AddressLine2 field would look like the following: 12 Main St,,Portland,OR,97205,US.
  • Currency Values - Currency values are in extended money format (four decimal places) and do not contain the currency symbol. For example, $45.00 would be 45.0000.
  • Delimeters - All records are Windows delimited. Each line ends with a carriage return and line feed (ASCII(13) + ASCII(10)).

The daily data feed uses the following naming convention:

DAILYTRANSDETAILS-NNNNNNNNNN-YYYYMMDD.CSV

In the example above, NNNNNNNNNN is the unique 10-digit file ID. The file ID value is padded with leading zeros to use all ten characters. YYYYMMDD is the creation date of the file.

Field Definitions

The sections below define the fields included in the daily data feed.

Header Record

The Header record is the first line of the file. The Header record describes the record type and indicates the date and time the record was created.

Field Format Length Definition
RecordType String 1 Record type indicator will be “H” for the Header record.
FileID Integer 10 This is the unique identifier for the data feed file and is generated by Vesta for each data feed. This should be referenced whenever contacting Support or troubleshooting is required for a feed.
FileDateAndTime String 14 This is the date and time the file was created, in the format YYYYMMDDHHMMSS.

Detail Record

The Detail record is the primary transaction record representing the overarching payment information.

Field Format Length Definition
RecordType String 1 Record type indicator will be “D” for Detail records.
DetailRecordCount Integer 10 An incrementing integer that identifies a specific Detail record. Begins at 1 and increments to the last Detail record in the file.
PaymentID String 12 The unique ID generated for every payment.
TransactionID String 36 This is a merchant-generated ID provided on each payment request into our platform.
Amount Numeric 12 The amount of funds authorized/the payment taken from the customer (e.g. 10.0000).
PaymentType Integer 2 A code representing the type of payment:
* 1 - Card not present payment
* 2 - Card not present refund
* 3 - Guaranteed payment chargeback
* 12 - Card not present voided payment
* 18 - Non-Guaranteed chargeback
* 19 - Non-Guaranteed chargeback fee
* 20 - Non-Guaranteed chargeback reversal
* 30 - Subscription fee
* 31 - Guaranteed payment chargeback reversal
RevenueDateTime String 19 The date the order was fulfilled and the corresponding payment is marked “ready for settlement”; displayed value based on PST time zone: YYYY-MM-DD HH:MM:SS.
PartnerRevenueDate String 10 A client-specified 24-hour period. The beginning and end of the revenue day may be any hour in any time zone: YYYY-MM-DD.
PaymentStatus Integer 3 A code indicating the status of the payment:
* 1 - Failed - The bank denied the payment.
* 3 - Denied - Fraud denied. This can occur if our platform has determined this transaction is too risky to process, or the customer is not reliable.
* 5 - Authorized - Transaction was authorized.
* 6 - Failed payment - Authorization communication error. The transaction did not complete.
* 10 - Successful payment - Payment has completed successfully.
* 51 - Pre-Auth complete - Pre-Authorization completed.
* 52 - Post-Auth complete - Post-Authorization completed.
* 61 - Pre-Auth failure - Pre-Authorization communication error. The transaction did not complete.
* 62 - Post-Auth failure - Post-Authorization communication error. The transaction did not complete.
PaymentStatusReasonCode String 4 Returns the decision code from the decision engine when the transaction is denied or pended:
* 1701 - Score exceeds risk system thresholds.
* 1702 - Insufficient information for risk system to approve.
* 1703 - Insufficient checking account history.
* 1704 - Suspended account.
* 1705 - Payment method type is not accepted.
* 1706 - Duplicate transaction.
* 1707 - Other payment(s) still in process.
* 1708 - SSN and/or address did not pass bureau validation.
* 1709 - Exceeds check amount limit.
* 1710 - High risk based upon checking account history (EWS).
* 1711 - Declined due to ACH regulations.
* 1712 - Information provided does not match what is on file at bank.
* 1713 - Information on file does not match what is on file.
* 1714 - Try again with a new debit/credit card.
* 1715 - Phone verification requested.
* 1716 - Additional information needed for verification.
Fee - % Numeric 12 The fee charged based on a percent of the transaction amount.
Fee - Transaction Numeric 12 The fee charged per transaction, including if there is a required minimum fee.
Fee - Subscription Numeric 12 The monthly/periodic subscription fee charged.
MerchantRoutingID String 30 The key used to determine which merchant account to use at the acquirer.
RiskProbabilityIndex Integer 1 Indicates the probability of risk associated with taking the requested payment:
* 1 - High Risk
* 2 - Mild Risk
* 3 - Average
* 4 - Safe
* 5 - Very Safe
RiskScore Integer 3 The risk score associated with the transaction. Valid values are 0-100; the higher the score, the greater the fraud risk associated with the payment. The score is only presented if the Fraud Score feature is enabled.
IsPaymentGuaranteeable Boolean 1 Indicates if the payment can be guaranteed by our platform:
* 0 - Payment cannot be guaranteed
* 1 - Payment can be guaranteed
PaymentGuaranteeStatus Integer 1 Indicates if the payment was guaranteed:
* 0 - Guaranteed Payment
* 1 - Non-Guaranteed Payment
OriginalPaymentID String 12 For a reversal payment, the PaymentID issued on the transaction that is being reversed.
OriginalTransactionID String 36 For a reversal payment, the TransactionID issued on the transaction that is being reversed.
PaymentDescriptor String 128 A text description of the payment for tracking purposes used to identify the transaction if you need to contact Support.
PartnerCustomerKey String 64 Any unique data element the merchant wants to use for identifying the customer (e.g., billing account number).
SalesTax Numeric 12 The sales tax provided in the payment API to support qualification L2 interchange.
SurchargeAmount Numeric 12 For merchants passing surcharge to the acquirer, this value tracks the amount sent to the acquirer.
AVSResultCode Integer 4 The processor-mapped value from the Address Verification Service (AVS) check performed by the acquirer.
CVVResultCode Integer 4 The processor-translated response from the acquirer for the Card Verification Value (CVV) response:
* 15 - CVV invalid
* 17 - CVV match
* 19 - CVV not matched
* 20 - CVV check not processed
* 22 - CVV should be available (was not supplied)
* 23 - CVV not supported by issuer
* 45 - CVV not sent.
AuthResultCode Integer 3 The processor-mapped value for the authorization code provided by the acquirer.
AcquirerCode Integer 2 Indicates the acquirer that processed the payment:
* 1 - Chase Paymentech
* 2 - First Data
* 3 - AIB
* 4 -Vantiv
* 5 - RapidConnectCNP
* 6 - Synthesis
* 7 - TSYS
* 8 - ProPay
* 9 - Allpago
* 1000 - Braintree
* 1001 - TrustCommerce
* 1002 - Authorize.Net
* 1003 - Wells Fargo
* 1004 - PayKings
* 1005 - Credibanco
* 1006 - Card Connect
* 1007 - Stripe
CardTypeCD Integer 2 Indicates the card type associated with the payment:
* 1 - AAFEES
* 3 - American Express
* 4 - Visa
* 5 - MasterCard
* 6 - Discover
* 7 - Diners Club
* 9 - Carte Blanche
* 25 - Dankort
* 27 - Electron
* 34 - Lasercard
* 35 - Maestro
* 98 - Unknown
BankRoutingNumber Numeric 9 For ACH payments, the routing number used to process the payment.
POSEntryMode String 3 For point of sale (POS) payments, the POSEntryMode that was sent by the merchant application to the processor at the time of payment processing.
TerminalID String 8 For point of sale (POS) payments, the TerminalID that was sent by the merchant application to the processor at the time of payment processing.
POSManualAuthorization String 8 For point of sale (POS) payments that were manually authorized via the acquirer phone line. Contains the OriginalAuthorizationID sent by the merchant application to the processor at the time of payment processing.
AcquirerApprovalCode String 30 The approval code returned by the acquirer on the payment request.
AcquirerAVSResponseCode String 6 The value from the Address Verification Service (AVS) check returned from the acquirer.
AcquirerCVVResponseCode String 6 The value from the Card Verification Value (CVV) check returned by the acquirer.
AcquirerResponseCode String 3 The value for the authorization code returned by the acquirer.
AcquirerResponseCodeText String 255 The acquirer-provided text associated with the acquirer response code.

The Footer record is the last line of the file. The Footer record contains record checksum data used to validate the contents of the file.

Field Format Length Definition
RecordType String 1 Record type indicator will be “F” for Footer records.
RecordCount Integer 10 The number of Detail records contained in this file.
AmountCheckSum Numeric 20 An amount used as a checksum for the file. It is obtained by summing the absolute value of the Detail record Amount field.