Parse::PayPal::TxFinderReport - Parse PayPal transaction detail report into data structure
This document describes version 0.003 of Parse::PayPal::TxFinderReport (from Perl distribution Parse-PayPal-TxFinderReport), released on 2018-11-06.
use Parse::PayPal::TxFinderReport qw(parse_paypal_txfinder_report); my $res = parse_paypal_txfinder_report(file => );
Sample result when there is a parse error:
[400, "Doesn't find signature in first row"]
Sample result when parse is successful:
[200, "OK", { format => "txfinder", transactions => [ { "3PL Reference ID" => "", "Auction Buyer ID" => "", "Auction Closing Date" => "", "Auction Site" => "", "Authorization Review Status" => 1, ... "Transaction Completion Date" => 1467273397, ... }, ... ], }]
PayPal provides various kinds reports which you can retrieve from their website under Reports menu. This module provides routine to parse PayPal transaction finder report into a Perl data structure. The CSV format is supported. No official documentation of the format is available, but it's mostly regular CSV.
This module can recognize two variants of the report:
Some characteristics of this variant:
Date is MM/DD/YYYY only without hour/minute/second information
Date will be converted to Unix epoch in the returned data structure.
No transaction status field
Dates are locale-formatted (e.g. DD/MM/YYYY)
Date will be converted to Unix epoch in the returned data structure. Make sure you set the correct date_format parameter.
date_format
Numbers are locale-formatted (e.g. 1,23 instead of 1.23 when using comma as decimal character)
Formatting will be removed. Make sure you set the correct thousands_sep and decimal_point parameters.
thousands_sep
decimal_point
Usage:
parse_paypal_txfinder_report(%args) -> [status, msg, payload, meta]
Parse PayPal transaction detail report into data structure.
The result will be a hashref. The main key is transactions which will be an arrayref of hashrefs.
transactions
Dates will be converted into Unix timestamps.
This function is not exported by default, but exportable.
Arguments ('*' denotes required arguments):
date_format => str (default: "MM/DD/YYYY")
decimal_point => str (default: ".")
file => filename
File can be in tab-separated or comma-separated (CSV) format.
format => str
If unspecified, will be deduced from the filename's extension (/csv/i for CSV, or /txt|tsv|tab/i for tab-separated).
string => str
Instead of files, you can alternatively provide the file contents in strings.
files
strings
thousands_sep => str (default: ",")
Returns an enveloped result (an array).
First element (status) is an integer containing HTTP status code (200 means OK, 4xx caller error, 5xx function error). Second element (msg) is a string containing error message, or 'OK' if status is 200. Third element (payload) is optional, the actual result. Fourth element (meta) is called result metadata and is optional, a hash that contains extra information.
Return value: (any)
Please report all bug reports or feature requests to mailto:stevenharyanto@gmail.com.
https://www.paypal.com
Parse::PayPal::TxDetailReport
perlancar <perlancar@cpan.org>
This software is copyright (c) 2018, 2017, 2016 by perlancar@cpan.org.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
To install Parse::PayPal::TxFinderReport, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Parse::PayPal::TxFinderReport
CPAN shell
perl -MCPAN -e shell install Parse::PayPal::TxFinderReport
For more information on module installation, please visit the detailed CPAN module installation guide.