SoapDump#
A high-performance PayPal SOAP log parser written in C++.
Usage#
# Get all transactions
soapdump payments.log
# Get only successful transactions
soapdump payments.log | grep Success
# Count transactions by state
soapdump payments.log | cut -d'|' -f8 | sort | uniq -c | sort -nr
# Find largest transaction
soapdump payments.log | sort -t'|' -k2 -nr | head -1
# Get transactions over $500
soapdump payments.log | awk -F'|' '$2 > 500'
# Summary stats
soapdump -s payments.log
Building#
Using Nix#
# Build the project
nix build
# Run the parser
nix run . -- payments.log
# Development shell
nix develop
Using CMake#
# Build the project
cmake -B build -S .
cmake --build build --config Release
# Run the parser
./build/soapdump payments.log
Installation#
nix profile install github:taciturnaxolotl/soapdump
or in the flake:
{
inputs.soapdump.url = "github:taciturnaxolotl/soapdump";
outputs = { self, nixpkgs, soapdump, ... }: {
# Access the package as:
# soapdump.packages.${system}.default
};
}
Or run without installing:
nix run github:taciturnaxolotl/soapdump -- payments.log
Output Format#
Pipe-separated values with the following fields:
TRANS_NUM|AMOUNT|CURRENCY|FIRSTNAME|LASTNAME|STREET|CITY|STATE|ZIP|CCTYPE|CCLAST4|EXPMONTH|EXPYEAR|CVV|TRANSID|STATUS|CORRID|PROC_AMOUNT
© 2025-present Kieran Klukas