Customize the request web view
Learn how to customize the text and appearance of the cross-device request web view that MATTR VII renders during a remote web verification, using the verifier application display configuration.
In a cross-device remote web verification, MATTR VII renders the request in an embedded iframe. The
iframe shows a QR code that the user scans with the digital wallet holding their information, along
with supporting text and, optionally, your own branding. You can tailor this request web view to
match your own product and language by setting display properties on your verifier application
configuration.
These properties are set once, when you create or update your verifier application on your MATTR VII tenant. Because they belong to the application configuration, you can present a different request web view to different verifier applications on the same tenant.
The display object applies to the cross-device flow, where the request is rendered as a QR code
in an iframe. It does not affect same-device flows, where the user is redirected straight to a
compliant wallet on the same device.
Display modes
The request web view supports two display modes, set with the displayMode property in the
display object:
fullrenders the fully branded request web view, with your logo, header and body text, primary color, and an optional privacy policy link, next to the QR code.simplerenders a QR code only view, with no branding. Only the QR code instructions and the awaiting presentation text can be customized in this mode.
Choosing a mode
We recommend setting displayMode explicitly so the rendered view always matches your intent. If
you omit displayMode, MATTR VII infers it from the other fields you provide:
- If you provide both
logoImageandheaderText, the mode is inferred asfull. - Any other combination is inferred as
simple. - Omitting the
displayobject entirely also renders the simple QR code only view.
Customizable properties
All display properties live under openid4vpConfiguration.display on a web verifier
application. The Modes column shows where each property applies. Each optional text field falls
back to a sensible default when omitted.
| Property | Description | Modes | Default when omitted |
|---|---|---|---|
displayMode | Selects the request web view. full for the branded view, simple for the QR code only view. | Both | Inferred from the other fields |
logoImage.url | Publicly available URL of the logo image shown in the top left corner of the iframe. | full | Required in full mode |
logoImage.altText | Alternative text for the logo image. | full | Required in full mode |
headerText | Header text displayed in the iframe. | full | Required in full mode |
bodyText | Body text explaining the context in which the credentials will be shared. | full | No body text |
primaryColorHex | Hex rgb triplet for the primary color of the iframe. | full | #E7E7E7 |
privacyPolicyUrl | Privacy policy URL to link from the iframe. | full | No privacy policy link |
privacyPolicyLinkText | Custom text for the privacy policy link. Only takes effect when privacyPolicyUrl is also set. Supplying it without privacyPolicyUrl is rejected with an HTTP 400 validation error. | full | View Privacy Policy |
qrCodeInstructions | Instructions displayed beneath the QR code. | Both | Scan QR code with the digital wallet that holds your information |
awaitingPresentationText | Text displayed after the QR code has been scanned, while awaiting the presentation. | Both | QR scanned, waiting for information... |
Example configurations
Full display mode
The following request creates a web verifier application with a fully branded request web view.
POST /v2/presentations/applications{
"name": "My Verifier Web Application",
"type": "web",
"domain": "example.com",
"openid4vpConfiguration": {
"supportedModes": "all",
"redirectUris": ["https://example.com/presentation/callback"],
"display": {
"displayMode": "full",
"logoImage": {
"url": "https://static.mattr.global/logos/mattr/s/gFC.svg",
"altText": "Example Logo image"
},
"headerText": "Share your information",
"bodyText": "Scan the QR code to provide the information required for this interaction.",
"primaryColorHex": "#1A73E8",
"privacyPolicyUrl": "https://example.com/privacy",
"privacyPolicyLinkText": "Read our privacy policy",
"qrCodeInstructions": "Scan this QR code with your mobile wallet app",
"awaitingPresentationText": "QR scanned, waiting for your information"
}
},
"resultAvailableInFrontChannel": true
}Simple display mode
The following request creates a web verifier application with a QR code only request web view.
Only the QR code instructions and awaiting presentation text are customized. Sending any full-only
field alongside "displayMode": "simple" is rejected with an HTTP 400 validation error.
{
"name": "My Verifier Web Application",
"type": "web",
"domain": "example.com",
"openid4vpConfiguration": {
"supportedModes": "all",
"redirectUris": ["https://example.com/presentation/callback"],
"display": {
"displayMode": "simple",
"qrCodeInstructions": "Scan this QR code with your mobile wallet app",
"awaitingPresentationText": "QR scanned, waiting for your information"
}
},
"resultAvailableInFrontChannel": true
}For the complete list of verifier application fields and to try the request, see the verifier applications API reference.
Tips
- Keep
qrCodeInstructionsandawaitingPresentationTextshort. They are displayed on a single line beneath the QR code and next to the loading state. - Use
privacyPolicyLinkTextto match the link wording to your own privacy policy naming, for example "Privacy notice" or "How we handle your data". primaryColorHexaccepts a standard hex color, such as#1A73E8. Choose a color with enough contrast against the iframe background so that interactive elements remain legible.
How would you rate this page?
Last updated on