Learn about PXP's Paze component for Web.
Paze is a US digital wallet that lets shoppers pay with cards stored in their Paze wallet. The Paze component loads the native Paze Digital Wallet SDK, renders an official <paze-button> element, and orchestrates checkout, token decryption, and transaction submission through PXP.
With the Paze component, you can benefit from:
- Secure checkout: Payments use network tokens and cryptograms from the Paze wallet rather than raw card numbers.
- Reduced friction: Shoppers authenticate with Paze instead of entering card details manually.
- Dynamic presentment: Show the button only when Paze determines the shopper is eligible, or always display it in static mode.
- Flexible decryption: Let the SDK decrypt tokens automatically, or handle decryption on your backend.
- Fraud controls: Integrate AVS and Kount risk screening through component configuration and callbacks.
- Brand customisation: Configure official Paze button colours, shapes, and labels to match your checkout.
Paze currently supports USD transactions only. The SDK validates currency during component initialisation and throws SDK1213 if another currency is used.
The component supports two presentment modes through buttonRenderMode:
| Mode | Behaviour | Identity requirements | |
|---|---|---|---|
static (default) | Always shows the Paze button after SDK initialisation. | emailAddress and/or phoneNumber are optional but validated when provided. | |
dynamic | Calls Paze's canCheckout() to check shopper eligibility before showing the button. | Both emailAddress and phoneNumber are required for canCheckout(). | At checkout(), if both are set, only phoneNumber is sent to Paze (email is omitted). |
When presentment resolves, the component calls onPresentmentResolved(isVisible) so you can track whether the button is shown.
The Paze payment flow has five steps.
When the component mounts, the SDK:
- Validates session configuration (including
allowedFundingTypes.wallets.paze.clientId). - Loads the Paze Digital Wallet SDK script from Paze's CDN.
- Initialises the SDK with your
clientId, optionalprofileId, and merchant branding. - Resolves presentment (static or dynamic) and renders the button.
When the shopper clicks the button:
- Optional
onCustomValidationruns. Returnfalseto prevent checkout. - The SDK calls Paze's
checkout()with transaction amount, currency, billing preferences, and identity data. - The shopper completes or abandons the Paze wallet experience.
If checkout returns COMPLETE, onCheckoutComplete is called with checkout details including card and billing data. Return false to reject the checkout; the SDK treats it as incomplete and calls onCheckoutIncomplete.
If you approve checkout, the SDK calls Paze's complete() and receives a securedPayload. By default, the SDK decrypts this through the PXP decrypt-token API. Return false from onPreDecryption to handle decryption on your backend instead.
After decryption, the SDK builds a scheme-token card transaction and submits it to PXP. Use onPreAuthorisation to provide risk screening data or abort the flow. onPostAuthorisation receives the transaction result.
By default, the component accepts all Paze-supported networks:
- Visa (
VISA) - Mastercard (
MASTERCARD) - Discover (
DISCOVER)
Use acceptedPaymentCardNetworks to restrict which networks appear in the Paze wallet.
The component renders Paze's native <paze-button> web component with configurable styling:
| Value | Description |
|---|---|
white | White background. |
whitewithoutline | White background with outline. |
midnightblack | Dark background. |
pazeblue | Paze brand blue (recommended). |
| Value | Description |
|---|---|
default | Paze default corner radius. |
rectangle | Rectangular button. |
pill | Fully rounded ends. |
| Value | Description |
|---|---|
checkout | "Paze checkout". |
check out with | "Checkout with Paze". |
Donate with | "Donate with Paze". |
Set disableMaxHeight: true in the style object to let the button fill its container height.
The component supports two decryption approaches:
- SDK-managed decryption (default): The SDK calls the PXP
decrypt-tokenendpoint automatically aftercomplete(). ImplementonPostDecryptionto inspect the decrypted token payload before authorisation. - Manual decryption: Return
falsefromonPreDecryptionto skip SDK decryption. UseonCompleteto receive thesecuredPayloadand call the decrypt endpoint from your backend. See Implementation for details.
Paze transactions are submitted as scheme token card payments with walletType: "Paze". The card intent from your session configuration determines the transaction flow:
| Intent | Description |
|---|---|
Authorisation | Authorise and hold funds for later capture. |
Purchase | Capture payment immediately. |
Configure the intent in your session's transactionMethod.intent.card value and mirror it in transactionData.intent.card during SDK initialisation.
- AVS: Set
performAVS: trueto include billing address from the decrypted payload in the transaction request when the SDK submits the transaction. RequiresbillingPreference: "ALL"so Paze returns a billing address. If you use manual backend decryption, apply AVS fields on your own transaction request instead. - Kount: Pass risk screening data through
onPreAuthorisation. SetkountDisabled: trueon SDK initialisation to disable Kount device fingerprinting.
- Onboarding: Configure Paze in the Unity Portal.
- Implementation: Step-by-step integration guide.
- Configuration: Component configuration options.
- Events: Callback reference and event data structures.