You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Distinguish x402 receipt evidence from quote delivery - #686
The downloadable quote example can receive a successful PAYMENT-RESPONSE and then fail to read, parse, or find a quote in the body. The error currently prints the saved attempt but loses the receipt reference. Keep those facts separate: report a received receipt, its transaction reference and any valid reported charge even when no usable quote was returned. A valid quote with no explicit charge field reports that the charge was not supplied, rather than printing zero.
The guide explains how to preserve this evidence and ask about the original quote without making another paid request. A receipt is not proof of quote delivery or on-chain collection. No changes to signing, settlement, spend limits, retry behavior or the service.
Verification
Strict TypeScript 5.9.3 check passed with the documented x402 2.26.0 packages on Node 22. The inert executable replay ran the full downloadable script before and after the change: success, lost response, body reset, invalid JSON, missing quote, and absent charge. One synthetic signed submission per run, no chain or HTTP calls.
To rerun, place the original and proposed downloadable scripts beside the replay as quote-before.mts and quote-after.mts in a directory with the documented x402 2.26.0 dependencies and viem, then run node check-downloadable-quote.mjs.
Thank you for your submission, we really appreciate it. Like many open-source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution. You can sign the CLA by just posting a Pull Request Comment same as the below format.
I have read the CLA Document and I hereby sign the CLA
You can retrigger this bot by commenting recheck in this Pull Request. Posted by the CLA Assistant Lite bot.
This branch has not been deployed
No deployments
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
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.
What changes
The downloadable quote example can receive a successful
PAYMENT-RESPONSEand then fail to read, parse, or find a quote in the body. The error currently prints the saved attempt but loses the receipt reference. Keep those facts separate: report a received receipt, its transaction reference and any valid reported charge even when no usable quote was returned. A valid quote with no explicit charge field reports that the charge was not supplied, rather than printing zero.The guide explains how to preserve this evidence and ask about the original quote without making another paid request. A receipt is not proof of quote delivery or on-chain collection. No changes to signing, settlement, spend limits, retry behavior or the service.
Verification
Strict TypeScript 5.9.3 check passed with the documented x402 2.26.0 packages on Node 22. The inert executable replay ran the full downloadable script before and after the change: success, lost response, body reset, invalid JSON, missing quote, and absent charge. One synthetic signed submission per run, no chain or HTTP calls.
To rerun, place the original and proposed downloadable scripts beside the replay as
quote-before.mtsandquote-after.mtsin a directory with the documented x402 2.26.0 dependencies andviem, then runnode check-downloadable-quote.mjs.