PayU Detail Transaction Report (DTR)

Table of Contents

Report Definition

The Detail Transaction Recon (DTR) report is a scheduled daily report that contains a summary of;

  • ALL transactions received by PayU from the merchant system or manually processed via PayU merchant portal;
  • for ALL payment methods;
  • of All transaction statuses; successful, failed and cancelled transactions;
  • received within the reporting period: the previous day per store.

The report is to be used to perform a merchant to PayU system transaction recon to ensure the two systems are aligned.

Platform & Distribution

Platform: PayU

Distribution: Daily scheduled report via SFTP pull (Configured per store). This report will be made available on the PayU FTP site before 06:00 daily.

Report Naming Convention

The DTR report file name consists out of the following elements to identify the file.

  • ReportType – DTR: Indicates the file is a Detail Transaction Recon Report. See report types in addendums.
  • ReportVersion – Should updates to report be made newer versions will be indicated by incremental number matching the major version of this file.
  • StoreId – the merchant’s unique store identifier as recorded in the PayU system
  • Transaction date – The date for the transactions reported on.
  • If rerun RERUN plus current DATE/TIME appended to the end of the filename.

E.g. DTR_200_200111_20130209.csv or .xml (DTR_VERSION_STOREID_DATETRANSACTIONS.csv or .xml)

E.g. DTR_200_200111_20130209_RERUN20131023080012.csv or .xml (DTR_VERSION_STOREID_DATETRANSACTIONS_RERUNDATETIME.csv or .xml)

The format of the Detailed Transaction Recon can be generated in .csv or XML format depending on the Merchant Requirements. CSV files will encapsulate all fields with ?double quotes ? and separator is a comma. Only one format can be created per report type.

Files are generated on daily schedule. In the event no transactions received a file will still be generated containing HEADER and FOOTER records but no detail records. Only one file created per day, current schedule during off-peak hours. Addition transaction searches can be performed and reports downloaded from the PayU Merchant Portal.

Future changes to the report: While all not likely this report can be enhanced in future to extend the fields returned. In an effort to avoid complications with systems that read the report any additional fields will be added to the end of the line in the event of a CSV and in the case of XML after the existing custom fields. Please be aware of this and ensure automated systems that process this and other PayU reports are created to dynamically adjust or ignore additional columns.

Report: Header Record Definition

Header record used to identify the report type and version, store (merchant), and reporting period.

Field Name

Description

Type

Length

HEADER

HEADER - Defining beginning of record

String

6

ReportType

DailyTransactionRecon – This report can be used to crosscheck what transactions were sent to PayU and confirm their current status

String

Variable

ReportVersion

To be used to ensure automated processing parse the correct fields and data types. Starting at 001 and increasing with major version updates of this file. E.g. 001 = Version 1.x, 002 = Version 2.x

String

3

StoreId

The merchant’s unique store identifier as recorded in the PayU system. E.g. 200111

String

6

FromDate

The starting date and time of transactions included in this report.

Format: yyyymmddHHmmss (24 hour format)

E.g. : 20131121000000

String

14

ToDate

The ending date and time of transactions included in this report.

Format: yyyymmddHHmmss (24 hour format)

E.g. : 20131122000000

String

14

Report: Detail Record Definition

Every entry in the detail section represents a transaction record.

Field Name

Description

Type

Length

RecordNumber

Represent the entry number in the report file.

Number

5

TransactionRecievedDateTime

The date and time that PayU received the transaction

Format: yyyymmddHHmmss (24 hour format)

E.g. : 20130208170259

String

14

TransactionProcessedDateTime

The date and time that PayU processed the transaction at the Acquiring institution.

Format: yyyymmddHHmmss (24 hour format)

E.g. : 20130208170259

String

14

Channel

The channel used to perform the Transaction.

REDIRECT – Redirect Payment Pages
ENTERPRISE – Enterprise API interaction

String

3

PaymentMethodsUsed

A pipe ( | ) separated list of payment methods used to fulfil the transaction requirement.

E.g. CREDITCARD|DISCOVERYMILES

Please see http://help.payu.co.za for Payment Methods

String

Variable

TransactionType

The PayU Transaction Type performed

Please see http://help.payu.co.za for Transaction Types

String

Variable

TransactionState

The current state the transaction is in.

E.g.: SUCCESSFUL, FAILED

Please see http://help.payu.co.za for Transactions States

String

Variable

ResultCode

The result code gives additional information about the transaction state. Please see http://help.payu.co.za for Error Messages

String

Variable

Reference

XML tag for all transaction references. Not applicable to CSV.

 

 

Reference/ MerchantReference

The reference as passed into PayU from the Merchant.

String

Variable

Reference/ PayUReference

The PayU reference linked to this transaction

String

Variable

Order/AmountInCents

The transaction amount in minor denomination. E.g. R1.50 is represented as 150, credits indicated by negative. R1.50 credit = -150

String

Variable

Order/CurrencyCode

An indicator to identify what currency the transaction is. PayU uses 3 character ISO-4127 codes for specifying the currencies.

E.g. Rand is represented as ZAR

String

3

CustomFields

Custom fields are repeatable key-value pairs of information the Merchant passes into PayU at transaction time and is echoed in this recon report. For CSV all

String

 

CustomField/Key

The key identifying the custom field sent in.

String

Variable

CustomField/Value

The value of the custom field as defined by the key

String

Variable

Reference/ RRNReference send to the bank.If not applicable to payment method NULL value used.StringVariable

 Report: Trailer Record Definition

Field Name

Description

Type

Length

FOOTER

Defining end of record

String

6

NumberOfRecords

The total number of Report Items included in the report.

Number

5

ValueOfRecords

The total value of Report Items included in the report.

Number

Variable

TotalSuccessful

Number of SUCCESSFUL state transactions in this report.

Number

Variable

TotalFailed

Number of FAILED state transactions in this report.

Number

Variable

TotalNew

Number of NEW state transactions in this report.

Number

Variable

TotalProcessing

Number of PROCESSING state transactions in this report.

Number

Variable

TotalTimeout

Number of TIMEOUT state transactions in this report.

Number

Variable

TotalExpired

Number of EXPIRED state transactions in this report.

Number

Variable

ReportHash

Optional

String

Variable

CSV Report Example

File name: DTR_200_200111_20130209.csv

CSV Sample
"HEADER","DailyTransactionRecon","002","200222","20170221000000","20170222000000"
"001","20170221025856","20170221025907","ENTERPRISE","EFT","PAYMENT","SUCCESSFUL","00","m01487638736214","212724422149","123","ZAR","eftCustomReference=c01487638736214,NotificationURL=https://staging.payu.co.za/ipn.do",""
"002","20170221021842","","REDIRECT","","PAYMENT","NEW","00","m01487636321382","212718886866","8000","ZAR","eftCustomReference=c01487636321382,redirectChannel=WEB,apiRequestHandler=com.payjar.web.controller.api.PayUSingleTenderRequestHandler,NotificationURL=https://staging.payu.co.za/ipn.do,Known User=false,processContract=REDIRECT",""
"003","20170221024955","","REDIRECT","","PAYMENT","NEW","00","m01487638193912","212721071000","77","ZAR","eftCustomReference=c01487638193912,redirectChannel=WEB,apiRequestHandler=com.payjar.web.controller.api.PayUSingleTenderRequestHandler,Known User=false,NotificationURL=https://staging.payu.co.za/ipn.do,processContract=REDIRECT",""
"004","20170221022626","","REDIRECT","","PAYMENT","NEW","00","m01487636785797","212719262657","8000","ZAR","NotificationURL=https://staging.payu.co.za/
"FOOTER","52","217600","24","8","20","0","0","0","AEFAEFAEF123"

XML Report Example

File name: DTR_001_200111_20130209.xml

 

XML Sample
<?xml version="1.0" encoding="UTF-8"?>
<PayUReport>
    <HEADER ReportType="DailyTransactionRecon" ReportVersion="200" StoreId="200111" FromDate="20130208170259" ToDate="20130208170259"/>
    <ReportItems>
        <!-- 0 to N repetitions -->
        <ReportItem RecordNumber="00001">
            <TransactionRecievedDateTime>20130208090717</TransactionRecievedDateTime>
            <TransactionProcessedDateTime>20130208090719</TransactionProcessedDateTime>
            <Channel>REDIRECT</Channel>
            <PaymentMethodsUsed>CREDITCARD|DISCOVERYMILES</PaymentMethodsUsed>
           <TransactionType>PAYMENT</TransactionType>         
            <TransactionState>SUCCESS</TransactionState>
            <ResultCode>00</ResultCode>
            <Reference MerchantReference="156300189611" PayUReference="30128909709" GatewayReference="GatewayRef123" RRN="RRN123456789" UTI="PAYU0000-0468-8692-4762-000000000000" />
            <Order AmountInCents="2500" CurrencyCode="ZAR"/>
            <CustomFields>
                <!-- 0 to n repititions -->
                <Customfield Key="cf1" Value="1234"/>
                <Customfield Key="cf2" Value="joe4321"/>
            </CustomFields>
        </ReportItem>
        <ReportItem RecordNumber="00002">
            <TransactionRecievedDateTime>20130208090730</TransactionRecievedDateTime>
            <TransactionProcessedDateTime>20130208090732</TransactionProcessedDateTime>
            <Channel>ENTERPRISE</Channel>
            <PaymentMethodsUsed>CREDITCARD|DISCOVERYMILES</PaymentMethodsUsed>
            <TransactionType>CREDIT</TransactionType>
            <TransactionState>SUCCESS</TransactionState>
            <ResultCode>00</ResultCode>
            <Reference MerchantReference="156300189611" PayUReference="30128909709" GatewayReference="GatewayRef124" RRN="RRN123456780" UTI="PAYU0000-0468-8692-4762-000000000000" />
            <Order AmountInCents="2500" CurrencyCode="ZAR"/>
            <CustomFields/>
        </ReportItem>
    </ReportItems>
    <Footer NumberOfRecords="2" ValueOfRecords="5000" TotalSuccessful="2" TotalFailed="0" TotalNew="0" TotalProcessing="0" TotalTimeout="0" TotalExpired="0" ReportHash="AEFAEFAEF123"/>
</PayUReport>