previously_full_fail

Created Diff never expires
8 removals
19 lines
82 additions
92 lines
✘ bensandler@st-bensandler3  ~/stripe/mppx   main  npx tsx src/bin.ts validate https://api.wundership.com
mppx validate https://api.wundership.com
Error: Cannot convert 5.000000 to a BigInt

✘ bensandler@st-bensandler3  ~/stripe/mppx   main  npx tsx src/bin.ts validate https://api.wundership.com --endpoint POST:/mpp/plan

Discovery (/openapi.json)
✓ Document found and parseable
✗ Valid OpenAPI structure (10 error(s))
✗ Invalid amount (paths./mpp/plan.post.x-payment-info.amount)
✗ Cannot mix offers with flat payment info fields (paths./mpp/plan.post.x-payment-info)
✗ Invalid amount (paths./mpp/builder/preview.post.x-payment-info.amount)
✗ Cannot mix offers with flat payment info fields (paths./mpp/builder/preview.post.x-payment-info)
✗ Invalid amount (paths./mpp/images/generate.post.x-payment-info.amount)
✗ Cannot mix offers with flat payment info fields (paths./mpp/images/generate.post.x-payment-info)
✗ Invalid amount (paths./mpp/listings/from-image.post.x-payment-info.amount)
✗ Cannot mix offers with flat payment info fields (paths./mpp/listings/from-image.post.x-payment-info)
✗ Invalid amount (paths./mpp/chat/completions.post.x-payment-info.amount)
✗ Cannot mix offers with flat payment info fields (paths./mpp/chat/completions.post.x-payment-info)
✓ Paid endpoints found (5 endpoint(s))

POST /mpp/plan
Challenge
✓ Returns 402 without credentials
✓ WWW-Authenticate header present (Payment scheme)
✗ Challenge parseable (Missing request parameter.)
→ The Payment challenge must include a request="<base64url>" parameter containing JSON-encoded payment details.
⚠ Received (realm="api.wundership.com", resource="https://api.wundership.com/mpp/plan", intent="charge", method="stripe", currency="USD", amount="1.000000", protocol="mpp")

POST /mpp/builder/preview
Challenge
✓ Returns 402 without credentials
✓ WWW-Authenticate header present (Payment scheme)
✗ Challenge parseable (Missing request parameter.)
→ The Payment challenge must include a request="<base64url>" parameter containing JSON-encoded payment details.
⚠ Received (realm="api.wundership.com", resource="https://api.wundership.com/mpp/builder/preview", intent="charge", method="stripe", currency="USD", amount="5.000000", protocol="mpp")

POST /mpp/images/generate
Challenge
✓ Returns 402 without credentials
✓ WWW-Authenticate header present (Payment scheme)
✗ Challenge parseable (Missing request parameter.)
→ The Payment challenge must include a request="<base64url>" parameter containing JSON-encoded payment details.
⚠ Received (realm="api.wundership.com", resource="https://api.wundership.com/mpp/images/generate", intent="charge", method="stripe", currency="USD", amount="1.000000", protocol="mpp")

POST /mpp/listings/from-image
Challenge
✓ Returns 402 without credentials
✓ WWW-Authenticate header present (Payment scheme)
✗ Challenge parseable (Missing request parameter.)
→ The Payment challenge must include a request="<base64url>" parameter containing JSON-encoded payment details.
⚠ Received (realm="api.wundership.com", resource="https://api.wundership.com/mpp/listings/from-image", intent="charge", method="stripe", currency="USD", amount="0.750000", protocol="mpp")

POST /mpp/chat/completions
Challenge
✓ Returns 402 without credentials
✓ WWW-Authenticate header present (Payment scheme)
✗ Challenge parseable (Missing request parameter.)
→ The Payment challenge must include a request="<base64url>" parameter containing JSON-encoded payment details.
⚠ Received (realm="api.wundership.com", resource="https://api.wundership.com/mpp/chat/completions", intent="charge", method="stripe", currency="USD", amount="0.500000", protocol="mpp")

Payment scheme detected but challenge format is invalid on 5 endpoint(s).
The server uses WWW-Authenticate: Payment but the challenge parameters do not conform to MPP.
Fix: encode payment details as base64url JSON in a request="..." parameter. See errors above.

✘ bensandler@st-bensandler3  ~/stripe/mppx   bensandler-validate-improvements  npx tsx src/bin.ts validate https://api.wundership.com --endpoint POST:/mpp/plan


mppx validate https://api.wundership.com
mppx validate https://api.wundership.com




Discovery (/openapi.json)
Discovery (/openapi.json)
✓ Document found and parseable
✓ Document found and parseable
✗ Valid OpenAPI structure (10 error(s))
✗ Valid OpenAPI structure (10 error(s))
✗ Invalid amount (paths./mpp/plan.post.x-payment-info.amount)
✗ Cannot mix offers with flat payment info fields (paths./mpp/plan.post.x-payment-info)
✗ Invalid amount (paths./mpp/builder/preview.post.x-payment-info.amount)
✗ Cannot mix offers with flat payment info fields (paths./mpp/builder/preview.post.x-payment-info)
✗ Invalid amount (paths./mpp/images/generate.post.x-payment-info.amount)
✗ Cannot mix offers with flat payment info fields (paths./mpp/images/generate.post.x-payment-info)
✗ Invalid amount (paths./mpp/listings/from-image.post.x-payment-info.amount)
✗ Cannot mix offers with flat payment info fields (paths./mpp/listings/from-image.post.x-payment-info)
✗ Invalid amount (paths./mpp/chat/completions.post.x-payment-info.amount)
✗ Cannot mix offers with flat payment info fields (paths./mpp/chat/completions.post.x-payment-info)


POST /mpp/plan
POST /mpp/plan
Challenge
Challenge
✓ Returns 402 without credentials
✓ Returns 402 without credentials
✓ WWW-Authenticate header present (Payment scheme)
✓ WWW-Authenticate header present (Payment scheme)
✗ Challenge parseable (Missing request parameter.)
✗ Challenge parseable (Missing request parameter.)
→ The Payment challenge must include a request="<base64url>" parameter containing JSON-encoded payment details.
⚠ Received (realm="api.wundership.com", resource="https://api.wundership.com/mpp/plan", intent="charge", method="stripe", currency="USD", amount="1.000000", protocol="mpp")


No MPP endpoints found. Tested 1 endpoint(s) but none use WWW-Authenticate: Payment.
Payment scheme detected but challenge format is invalid on 1 endpoint(s).
This server may use x402 or another payment protocol.
The server uses WWW-Authenticate: Payment but the challenge parameters do not conform to MPP.
Fix: encode payment details as base64url JSON in a request="..." parameter. See errors above.