parses paypal soap logs
C++ 85.7%
Nix 11.2%
CMake 3.1%
14 1 1

Clone this repository

https://tangled.org/dunkirk.sh/soapdump
git@knot.dunkirk.sh:dunkirk.sh/soapdump

For self-hosted knots, clone URLs may differ based on your setup.

README.md

SoapDump#

A high-performance PayPal SOAP log parser written in C++.

gif of the program in action

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