parses paypal soap logs
1# SoapDump
2
3A high-performance PayPal SOAP log parser written in C++.
4
5
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>© 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>