Reports
PayU allows for creation of comprehensive reports that provide a detailed summary of completed purchase transactions, refunds, and payouts. These reports offer a clear and concise overview of your financial activities and serve as a valuable tool for tracking and managing your payment transactions.
Report Features
To enable the creation of reports that can be retrieved via API through a URL, a configuration change on the Company level is necessary. For this configuration to be set up, you will need to get in touch with our and request the required configuration change for reports to be sent on a URL accessible via API.
File formats available for reports are: .csv, .pdf and .abo* (*specific to Czech market).
We offer multiple convenient options for accessing your reports:
- Delivered via Email: You can choose to have your reports delivered directly to your email as a .zip attachment.
- Downloaded from the Merchant Panel: Access your reports through the management panel, where you can conveniently download and view them at any time.
- Retrieved via API: For more automated and integrated access, you can retrieve your reports via API.
CSV Format Description
Below is a description of all available data fields in the most common and flexible format (.csv) with reference to related fields in REST API and Classic API protocols.
Order and range of the fields in the reports can be chosen freely. When creating a report, you can set the columns according to your preferences.
To ensure the Account Balance column reflects the amount remaining after a transaction or withdrawal, the report must include a Commission column; otherwise, this column will be empty.
| Column name | Classic API | REST API | Data type | Description |
|---|---|---|---|---|
Date | trans_recv | localReceiptDateTime | yyyy-mm-dd | Transaction completion date. |
Trans ID | trans_id | properties.payment_id | NUM {0,10} | Transaction ID assigned by PayU. |
Amount | amount | amount | NUM {2,14} | Amount entered on the billing (1,00). |
Currency | n/a | currencyCode | STR {3} | Billing currency. |
Type of operation | n/a | n/a | STR {1,4} | Most common values:
|
Account balance | n/a | n/a | NUM {2,14} | Merchant account balance after transaction. |
Change account balance | n/a | n/a | BOOL | TRUE/FALSE. |
Order ID | order_id | extOrderId | STR {1,1024} | Order/purchase id provided by the merchant. |
Single Platform Order ID | n/a | orderId | STR | Order/purchase id in the PayU System. |
Description | desc | description | STR {1,50} | Order description provided by the merchant (or by PayU, if operation type is connected with fees/commission). |
Description2/Account number | desc2 | additionalDescription | STR {0,50} | Enhanced order description provided by the merchant or bank account number if type of operation is withdrawal (w, wc). |
Payment type | trans_pay_type | payMethod value | STR {1,8} | Payment method chosen by the payer (available values are here). |
Session ID | session_id | extOrderId | STR {1,1024} | Payment identifier given by merchant. |
City | city | buyer.delivery.city | STR {0,50} | City address of the payer. |
Postal code | post_code | buyer.delivery.postalCode | STR {0,25} | Postal code of the payer. |
Phone | phone | buyer.phone | STR {0,100} | Phone number of the payer. |
E-mail | email | buyer.email | STR {0,100} | E-mail address of the payer. |
Street | street | buyer.delivery.street | STR {0,150} | Street address of the payer. |
Name and surname | first_name, last_name | buyer.firstName, buyer.lastName | STR {0,200} | Name and surname of the payer. |
Operation amount | n/a | n/a | NUM {2,14} | Operation amount of transaction, refund, corrections or payouts (1,00). ICP specific field. |
Operation currency | n/a | n/a | STR {3} | Operation currency. ICP specific field. |
Commission | n/a | n/a | NUM {2,14} | PayU Commission:
|
Commission currency | n/a | n/a | STR {3} | Commission currency. |
Exchange rate | n/a | n/a | NUM {20,10} | Exchange rate for shop with different transcation currency and billing currency. ICP specific field. |
Time | n/a | n/a | {hh-mm-ss} 24 hour format | Time when operation was logged on billing. |
POS ID | pos_id | merchantPosId | STR {1,7} | POS ID on which operation took place. |
POS name | n/a | n/a | STR | Name of Point of Sales determined in PayU Manager Panel. |
Split payment | n/a | n/a | BOOL | Was payment a 'split payment'. |
Payout public id | n/a | STR | Assigned by PayU - can be retrieved over API. | |
Payout external id | n/a | STR | Unique payout ID assigned by Merchant (uniqueness on Shop level required). | |
Shop name | n/a | n/a | STR | Defined in PayU Manager Panel. |
Retrieval via API
Enabling this functionality requires a special configuration on PayU's side, so in order to use it please contact us via the contact form. To get notifications and then retrieve reports via API, the "Notification mode" option on Create report screen in the merchant panel must be set to Notify url.
Report Notification
XML form notification will be sent once the report is ready for retrieval.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<reportNotifyRequest xmlns="http://www.openpayu.com/public/21/openpayu">
<report>
<reportId>4a3534fb-85b5-4f29-9da8-a6d73b34d528</reportId>
<reportPlanId>635601897450895020</reportPlanId>
<reportUrl>https://secure.payu.com/api/v2_1/reports/4a3534fb-85b5-4f29-9da8-a6d73b34d528</reportUrl>
<status>READY</status>
</report>
</reportNotifyRequest>
Where:
- <reportId> - report ID.
- <reportPlanId> - merchant assigned fixed report ID.
- <reportUrl> - url the report is availabe.
- <status> - report status.
Report retrieval
When making GET requests, please remember not to include any data in the request body, as specified in the RFC 9110 standard. Requests that do not adhere to this requirement will be rejected by PayU with an HTTP 403 status.
After the notification is received, call received reportUrl with HTTP GET method with the header containing:
Authorization: Basic {string}
Where the {string} is the base64 encoded string of posId:Second key (MD5) - mind the colon between POS ID and the MD5 key values!
You can authorize the request using any POS assigned to the store for which the report was generated. If the store has only one POS, it will be used automatically. Authorization with a POS not belonging to the store will return an HTTP 404 error. This error indicates that the report generated for the particular POS being used is not found, as it does not match the POS associated with the authorization attempt.
ICP Transactions in Reports
ICP is a solution dedicated to merchants operating on international markets who want to receive payouts in a currency other than the transaction currency.
Important fields for ICP transactions
Below are the main columns that contain information about currency conversion for ICP transactions:
| Column name | Classic API | REST API | Data type | Description |
|---|---|---|---|---|
Operation amount | n/a | n/a | NUM {2,14} | Operation amount of transaction, refund, corrections or payouts (1,00). |
Operation currency | n/a | n/a | STR {3} | Operation currency. |
Exchange rate | n/a | n/a | NUM {20,10} | Exchange rate for shop with different transcation currency and billing currency. |
Example of Report with ICP Transactions
You can also download sample ICP_transactions_statement.csv (3.54KB). This example shows only selected fields.