-
Notifications
You must be signed in to change notification settings - Fork 933
Description
Hello team,
We’ve found an issue with Backpack Wallet’s QR code scanner when testing Solana payment flows.
🐛 Bug Description
When scanning a Solana payment QR code that includes a reference parameter, Backpack does not include the reference account in the final transaction. This makes transaction detection impossible, since most payment processors (including ours, Paymento) rely on getSignaturesForAddress(reference) for order reconciliation.
✅ Expected Behavior
When a user scans a Solana payment QR code with a reference in the URI, Backpack should always include the reference account(s) in the transaction’s account list.
🔍 Actual Behavior
Phantom and Solflare correctly include the reference account when scanning the same QR code. Backpack’s QR scanner omits the reference account entirely.
🔁 Steps to Reproduce
- Generate a Solana Pay QR code with a URI like:
- solana:<merchant_pubkey>?amount=0.1&reference=<ref_pubkey>
- Scan the QR code using Backpack Wallet.
- Approve and send the payment.
Fetch the transaction via RPC and inspect transaction.message.accountKeys. The reference key is missing.
⚡ Impact
This prevents from reliably detecting payments made with Backpack via QR codes, making Backpack incompatible with Solana Pay integrations that depend on reference-based tracking.
💡 Suggested Fix
Ensure that Backpack’s QR scanner always parses and includes the reference account(s) from Solana Pay URIs when constructing the transaction.
Thanks for reviewing this, I can share example transaction IDs if helpful.