Skip to content

Add payment-provider signatures: Square, Braintree, Razorpay, Adyen (pick one) #14

Description

@jpbelmo

Payments is this project's flagship detection category — it's where the structural tier (webhook flow → signature verification → DB write → idempotency) already goes deepest. But Tier 1 coverage of payment providers still has real gaps. Covered today: Stripe, PayPal, Mercado Pago, Lemon Squeezy, Paddle. Missing, verified against the current signatures/package-map.json:

  • Square — official SDK package square
  • Braintreebraintree
  • Razorpayrazorpay
  • Adyen@adyen/api-library

The ask

Pick ONE provider (comment here to claim it, so two people don't duplicate work) and add it end to end. Because each of these needs a new taxonomy slug (payments/square, payments/braintree, payments/razorpay, payments/adyen), the repo's process is two small PRs:

  1. PR 1 — the slug: add { "slug": "payments/<provider>", "label": "<Provider>" } to taxonomy.json, with a one-line rationale in the PR description. New vocabulary is reviewed on its own — see CONTRIBUTING.md.
  2. PR 2 — the map entries: add the SDK package(s) to signatures/package-map.json mapping to your new slug. These imports are unambiguous, so Tier 1 is enough — no signature file, no fixtures needed. If you find the provider's other official SDK packages (e.g. a React wrapper), add those keys too, same slug.

Definition of done

  • Slug merged in taxonomy.json (PR 1, with rationale)
  • Map entries in signatures/package-map.json (PR 2)
  • npm test green (new entries are picked up automatically — nothing to wire)
  • One line in CHANGELOG.md under [Unreleased]

Pointers: docs/signatures.md#contributing is the exact contract; the map key must be the package name as actually imported (see the map's own $comment on dead keys). If you work with an AI coding agent, point it at the add-signature skill — it walks this exact path.

Metadata

Metadata

Assignees

No one assigned

    Labels

    detectionSkill/signature detection (Tier 1, Tier 2, or the structural tier)good first issueGood for newcomersup-for-grabsStandalone, well-scoped, and ready for a first-time contributor

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions