Skip to content

feat: QR placement contract — buildVerifyUrl + resolveQrRect (v1.2.0)#5

Merged
ValidPay-io merged 1 commit into
mainfrom
feat/qr-placement
Jun 17, 2026
Merged

feat: QR placement contract — buildVerifyUrl + resolveQrRect (v1.2.0)#5
ValidPay-io merged 1 commit into
mainfrom
feat/qr-placement

Conversation

@ValidPay-io

Copy link
Copy Markdown
Owner

Parity with node 0.7.0 / python 1.4.0. Adds the canonical placement contract (buildVerifyUrl, resolveQrRect, QrPlacement types, MIN_RECOMMENDED_QR_PT) so a position picked once maps 1:1 across SDKs + the 'Try it' tool. No on-device embedQr (PDF editing on a phone isn't practical) — render the QR or seal server-side. Pure/dependency-free. 10 new tests; suite green.

…2.0)

Parity with @validpay/node-sdk 0.7.0 / validpay (py) 1.4.0. Adds the
canonical placement contract so a position picked once (e.g. in the
developer console "Try it" tool) maps to the same spot across every SDK:

- buildVerifyUrl(retrievalId, key) -> verify URL with a base64url key in
  the fragment; feed it to a QR component (react-native-qrcode-svg, …).
- resolveQrRect(placement, pageW, pageH) -> { x, y, size } in PDF
  bottom-left points, for stamping with your own PDF lib.
- QrPlacement / QrAnchor / QrUnit types + MIN_RECOMMENDED_QR_PT.

No on-device embedQr: editing PDF bytes on a phone isn't practical, so RN
ships the pure contract only (seal PDFs server-side with the Node SDK, or
just display the QR). Pure + dependency-free. 10 new tests; suite green.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@ValidPay-io
ValidPay-io merged commit d827d60 into main Jun 17, 2026
2 checks passed
@ValidPay-io
ValidPay-io deleted the feat/qr-placement branch June 17, 2026 11:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant