payhere — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited payhere (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Use this skill to implement or diagnose PayHere integrations without rediscovering PayHere's product model, API flows, hash rules, callback behavior, and sandbox details.
return_url as user navigation only. Rely on notify_url server callbacks and signature verification before updating orders, subscriptions, tokens, or captures.references/system-overview.mdreferences/api-reference.mdreferences/sdk-and-plugin-reference.mdreferences/source-map.mdhash on the server:HASH = UPPER(MD5(merchant_id + order_id + amount_with_two_decimals + currency + UPPER(MD5(merchant_secret))))md5sig before marking anything paid, approved, tokenized, captured, refunded, or canceled:MD5SIG = UPPER(MD5(merchant_id + order_id + payhere_amount + payhere_currency + status_code + UPPER(MD5(merchant_secret))))notify_url; localhost cannot receive PayHere callbacks. For local testing, use a tunnel or deploy a temporary callback endpoint.application/x-www-form-urlencoded, not JSON, for redirect-style APIs and SDK notifications.order_id plus PayHere payment_id or subscription/preapproval token.Use scripts/payhere_crypto.py to calculate hashes, callback signatures, and OAuth Basic authorization strings while implementing or debugging:
python scripts/payhere_crypto.py request-hash \
--merchant-id 121XXXX \
--order-id Order123 \
--amount 1000 \
--currency LKR \
--merchant-secret "$PAYHERE_MERCHANT_SECRET"
python scripts/payhere_crypto.py notification-sig \
--merchant-id 121XXXX \
--order-id Order123 \
--payhere-amount 1000.00 \
--payhere-currency LKR \
--status-code 2 \
--merchant-secret "$PAYHERE_MERCHANT_SECRET"Use examples with fake credentials only. If a user provides real secrets, avoid echoing them back.
The PayHere support knowledge base changes. If the user asks for the latest pricing, limits, SDK versions, approval rules, or live operational requirements, verify against the current PayHere documentation before answering or changing code.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.