parses paypal soap logs
1# SoapDump 2 3A high-performance PayPal SOAP log parser written in C++. 4 5![gif of the program in action](https://github.com/taciturnaxolotl/soapdump/blob/main/docs/vhs.gif) 6 7## Usage 8 9```bash 10# Get all transactions 11soapdump payments.log 12 13# Get only successful transactions 14soapdump payments.log | grep Success 15 16# Count transactions by state 17soapdump payments.log | cut -d'|' -f8 | sort | uniq -c | sort -nr 18 19# Find largest transaction 20soapdump payments.log | sort -t'|' -k2 -nr | head -1 21 22# Get transactions over $500 23soapdump payments.log | awk -F'|' '$2 > 500' 24 25# Summary stats 26soapdump -s payments.log 27``` 28 29## Building 30 31### Using Nix 32 33```bash 34# Build the project 35nix build 36 37# Run the parser 38nix run . -- payments.log 39 40# Development shell 41nix develop 42``` 43 44### Using CMake 45 46```bash 47# Build the project 48cmake -B build -S . 49cmake --build build --config Release 50 51# Run the parser 52./build/soapdump payments.log 53``` 54 55### Installation 56 57```bash 58nix profile install github:taciturnaxolotl/soapdump 59``` 60 61or in the flake: 62 63```nix 64{ 65 inputs.soapdump.url = "github:taciturnaxolotl/soapdump"; 66 67 outputs = { self, nixpkgs, soapdump, ... }: { 68 # Access the package as: 69 # soapdump.packages.${system}.default 70 }; 71} 72``` 73 74Or run without installing: 75 76```bash 77nix run github:taciturnaxolotl/soapdump -- payments.log 78``` 79 80## Output Format 81 82Pipe-separated values with the following fields: 83 84``` 85TRANS_NUM|AMOUNT|CURRENCY|FIRSTNAME|LASTNAME|STREET|CITY|STATE|ZIP|CCTYPE|CCLAST4|EXPMONTH|EXPYEAR|CVV|TRANSID|STATUS|CORRID|PROC_AMOUNT 86``` 87 88<p align="center"> 89 <i><code>&copy 2025-present <a href="https://github.com/taciturnaxolotl">Kieran Klukas</a></code></i> 90</p> 91 92<p align="center"> 93 <a href="https://github.com/taciturnaxolotl/soapdump/blob/main/LICENSE.md"><img src="https://img.shields.io/static/v1.svg?style=for-the-badge&label=License&message=MIT&logoColor=d9e0ee&colorA=363a4f&colorB=b7bdf8"/></a> 94</p>