fix: improve paddle-webhooks SDK verification#22
Merged
Conversation
…urce Based on review of official Paddle SDK source code: - Node.js: paddle.webhooks.unmarshal(body, secret, signature) not paddle.notifications.unmarshal() - Python: Verifier().verify(request, Secret(...)) not paddle.notifications.unmarshal() Changes: - Express: Fix SDK method name and parameter order - Next.js: Fix SDK method name and parameter order - FastAPI: Update to use manual verification (SDK Verifier is Flask/Django specific) - verification.md: Update SDK examples with correct method signatures All tests pass (Express: 10, Next.js: 6, FastAPI: 12). Co-authored-by: Cursor <cursoragent@cursor.com>
leggetter
commented
Feb 4, 2026
…bhook-skills into feat/paddle-webhooks
test-agent-scenario.sh now reads scenarios from providers.yaml instead of hardcoding them. Update validation to check for testScenario in providers.yaml instead of grepping test-agent-scenario.sh. Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Fixes Paddle SDK verification examples based on review of official SDK source code. This addresses feedback from the Paddle team about using their official SDK verification methods.
Changes
Based on review of paddle-node-sdk and paddle-python-sdk source code:
Node.js SDK
paddle.notifications.unmarshal(body, signature, secret)❌paddle.webhooks.unmarshal(body, secret, signature)✅Key findings:
paddle.webhooksis for signature verificationpaddle.notificationsis for managing notification settings via API (different thing!)(body, secretKey, signature)not(body, signature, secret)Python SDK
paddle.notifications.unmarshal(...)❌ (method doesn't exist)Verifier().verify(request, Secret(...))✅Key findings:
Verifierclass pattern, notunmarshal()Verifieris designed for Flask/Django request objectsFiles Changed
examples/express/src/index.js- Fix SDK method and parameter orderexamples/nextjs/app/webhooks/paddle/route.ts- Fix SDK method and parameter orderexamples/fastapi/main.py- Update to use manual verification with SDK notereferences/verification.md- Update SDK documentation with correct examplesTODO.md- Update to reflect resolved issuesTesting
All tests pass:
Test Plan
Made with Cursor