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 | 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/ RRN | Reference send to the bank.If not applicable to payment method NULL value used. | String | Variable |
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
"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 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>