Confirmed users
1,158
edits
(Privacy changes) |
No edit summary |
||
| Line 56: | Line 56: | ||
=== the verify field === | === the verify field === | ||
The <tt>verify</tt> field is a URL. | The <tt>verify</tt> field is a URL. This can be used for automated verification of a receipt by application receivers and is encourage. See "Interaction with the verify URL", below. | ||
=== the reissue field === | === the reissue field === | ||
| Line 96: | Line 96: | ||
# Verifying the cryptographic integrity of the receipt itself | # Verifying the cryptographic integrity of the receipt itself | ||
# | # Checking the validity of the receipt with the issuer | ||
Verifying the receipt is according to the usual rules of JWT verification. Public key discovery for the issuer is out of scope for JWT, but it is expected that verifying parties will receive public keys from their chosen payment providers through well-documented means, and that the <tt>iss</tt> field will be used to pick a public key from a previously-retrieved list. | |||
If a payment provider offers a <tt>verify</tt> URL in the receipt, the verifying party is allowed to query that URL to determine the real-time status of the receipt. | |||
=== Mozilla Marketplace Privacy Policy === | |||
The Mozilla Marketplace will have a privacy policy about what is logged when a receipt is verified. | |||
=== Interaction with the <tt>verify</tt> URL === | === Interaction with the <tt>verify</tt> URL === | ||
If the <tt>verify</tt> URL is present, the receiving party may verify it by issuing a POST request to it, where the message body contains the complete receipt. | If the <tt>verify</tt> URL is present, the receiving party may verify it by issuing a POST request to it, where the message body contains the complete receipt. | ||
Currently checking the receipt validity with the issuer is the only way to confirm the status of the payment with the issuer. In future version of the receipt we hope to address this to provide more privacy for users by reducing the number of server checks. | |||
The return value of this request is a JSON object with fields: | The return value of this request is a JSON object with fields: | ||