Skip to content

How it works

Learn about how PXP's Drop-in solution works.

Overview

Checkout Drop-in is a single, unified payment component that automatically orchestrates multiple payment methods in a beautiful vertical accordion interface. It's built on top of the Checkout SDK, reusing all the same secure payment logic while providing a dramatically simplified integration experience.

Screenshot of a drop-in with collapsed payment methods

Key benefits

  • Five-line integration: Get a complete checkout running in days, not weeks. Perfect for merchants who want speed over customisation.
  • Zero PCI scope: All sensitive card data is tokenised by PXP's Token Vault — your servers never touch payment data.
  • Automatic 3DS authentication: Intelligent risk-based 3D Secure authentication happens automatically when required, with no additional code needed.
  • Unified callbacks: One set of callbacks works across all payment methods. Handle success, errors, and validation the same way for cards, PayPal, Google Pay, and Apple Pay.
  • Automatic payment method expansion: When PXP adds new payment methods, they automatically appear in your drop-in with zero code changes.

Integration steps

A full integration involves the following five high-level steps:

  1. Set up the Unity Portal: To use Checkout Drop-in, you first need to activate the Drop-in service and your chosen payment methods in the Unity Portal. You also need to configure your branding, whitelist domains where the drop-in will be hosted, and set up webhooks for payment verification.
  2. Install the SDK: Install the latest version of the SDK using npm, then import from the drop-in subpath.
  3. Embed Checkout Drop-in: Initialise the drop-in, pass in your session data and transaction details, and mount it.
  4. Handle results: Add proper handling for events and errors. Implement analytics to monitor your customers' payment journeys.
  5. Process and verify transactions: The customer completes their payment through the drop-in. The SDK validates form data, tokenises the card (if needed), and sends the transaction to PXP. After processing, the SDK triggers an onSuccess callback with a result object containing transaction identifiers (result.merchantTransactionId and result.systemTransactionId).

Ready to get started? Follow the Web quickstart or Android quickstart for a complete walkthrough, or jump to the Web implementation guide or Android implementation guide for detailed configuration options.

Supported payment methods

Drop-in automatically detects and displays payment methods based on your Unity session configuration and browser capabilities:

  • Cards (Visa, Mastercard, American Express, and others)
  • PayPal (including Venmo and Pay Later for eligible customers)
  • Google Pay
  • Apple Pay

Payment methods appear in the order configured in your Unity Portal, and future payment methods will be automatically added to Drop-in as they become available.

UI/UX design

Vertical accordion layout

The drop-in uses a mobile-first vertical accordion design:

  • Only one payment method is expanded at a time
  • The top payment method is expanded by default
  • Beautiful gradient cards with shadows and hover effects
  • Professional SVG logos for payment methods
  • Smooth animations on expand/collapse
  • "Secured by PXP" branded footer

Responsive behaviour

The drop-in automatically adapts to different screen sizes to ensure an optimal user experience across all devices:

  • Mobile (< 576px): Full-width cards, stacked fields, touch-optimised buttons
  • Tablet (576-768px): Comfortable spacing, responsive padding
  • Desktop (> 768px): Optimal spacing, hover effects active

Supported transaction intents

During initialisation, you specify the transaction intent for each payment method. The intent determines how the payment is processed and when funds are captured.

Card intents

Cards support the following transaction intents:

IntentDescriptionUse cases
AuthorisationReserve funds on the customer's payment method without capturing them. Capture later when ready to fulfill.
  • Physical goods: Authorise at checkout, capture when shipped
  • Delayed fulfillment: Reserve funds until service is delivered
  • Pre-orders: Hold funds before product is available
EstimatedAuthorisationReserve funds based on an estimated amount. Final capture amount can differ from initial authorisation.
  • Hotels: Estimate stay cost, adjust final bill
  • Car rentals: Estimate rental, adjust for fuel/damage
  • Restaurants: Pre-authorise with tip, finalise after service
PurchaseCapture funds immediately after authorisation. Single-step payment.
  • Digital goods: Instant delivery (ebooks, software, licenses)
  • Subscriptions: Immediate access to services
  • Event tickets: Instant confirmation required
VerificationVerify the card is valid without charging or reserving funds ($0 authorisation).
  • Save card for later: Validate before storing
  • Age verification: Confirm card holder's age
  • Card testing: Check card is active and valid

Google Pay and Apple Pay intents

Google Pay and Apple Pay support the following transaction intents:

IntentDescriptionUse cases
AuthorisationReserve funds for later capture.
  • Physical goods: Quick checkout, capture on shipment
  • Delayed fulfillment: Reserve for services
PurchaseCapture funds immediately.
  • Digital goods: Instant one-click purchases
  • In-app purchases: Frictionless buying
  • Quick checkout: Fast payment for any goods

PayPal intents

PayPal supports the following transaction intents:

IntentDescriptionUse cases
AuthorisationAuthorise a payment to be captured later ("Confirm Payment" flow).
  • Physical goods: Authorise now, capture when shipped
  • Custom orders: Reserve funds during production
  • Pre-orders: Hold funds before item is available
PurchaseCapture payment immediately ("Pay Now" flow).
  • Digital goods: Instant delivery
  • Services: Immediate access
  • Event tickets: Instant confirmation

Supported payment currencies

Drop-in supports the following payment currencies:

Currency codeCurrency name Supported?
AEDUnited Arab Emirates Dirham
AFNAfghan Afghani
ALLAlbanian Lek
AMDArmenian Dram
AOAAngolan Kwanza
ARSArgentine Peso
AUDAustralian Dollar
AWGAruban Florin
AZNAzerbaijani Manat
BAMBosnia and Herzegovina Convertible Mark
BBDBarbados Dollar
BDTBangladeshi Taka
BGNBulgarian Lev
BHDBahraini Dinar
BIFBurundian Franc
BMDBermudian Dollar
BNDBrunei Dollar
BOBBoliviano
BOVBolivian Mvdol (funds code)
BRLBrazilian Real*
BSDBahamian Dollar
BTNBhutanese Ngultrum
BWPBotswana Pula
BYNBelarusian Ruble
BZDBelize Dollar
CADCanadian Dollar
CDFCongolese Franc
CHEWIR Bank (complementary currency)
CHFSwiss Franc
CHWWIR Bank (complementary currency)
CLFUnidad de Fomento (funds code)
CLPChilean Peso
CNYChinese Yuan
COPColombian Peso
COUUnidad de Valor Real
CRCCosta Rican Colon
CUPCuban Peso
CVECape Verde Escudo
CZKCzech Koruna
DJFDjiboutian Franc
DKKDanish Krone
DOPDominican Peso
DZDAlgerian Dinar
EGPEgyptian Pound
ERNEritrean Nafka
ETBEthiopian Birr
EUREuro
FJDFiji Dollar
FKPFalkland Islands Pound
GBPPound Sterling
GELGeorgian Lari
GHSGhanian Cedi
GIPGibraltar Pound
GMDGambian Dalasi
GNFGuinean Franc
GTQGuatemalan Quetzal
GYDGuyanese Dollar
HKDHong Kong Dollar
HNLHonduran Lempira
HTGHaitian Gourde
HUFHungarian Forint
IDRIndonesian Rupiah
ILSIsraeli New Sheqel
INRIndian Rupee
IQDIraqi Dinar
IRRIranian Rial
ISKIcelandic Króna
JMDJamaican Dollar
JODJordanian Dinar
JPYJapanese Yen
KESKenyan Shilling
KGSKyrgyzstani Som
KHRCambodian Riel
KMFComoro Franc
KPWNorth Korean Won
KRWSouth Korean Won
KWDKuwaiti Dinar
KYDCayman Islands Dollar
KZTKazakhstani Tenge
LAKLao Kip
LBPLebanese Pound
LKRSri Lanka Rupee
LRDLiberian Dollar
LSLLesotho Loti
LYDLibyan Dinar
MADMoroccan Dirham
MDLMoldovan Leu
MGAMalagasy Ariary
MKDMacedonian Denar
MMKMyanma Kyat
MNTMongolian Tugrik
MOPMacanese Pataca
MRUMauritanian Ouguiya
MURMauritian Rupee
MVRMaldivian Rufiyaa
MWKMalawian Kwacha
MXNMexican Peso
MXVMexican Unidad de Inversion (UDI) (funds code)
MYRMalaysian Ringgit
MZNMozambican Metical
NADNamibian Dollar
NGNNigerian Naira
NIOCordoba Oro
NOKNorwegian Krone
NPRNepalese Rupee
NZDNew Zealand Dollar
OMROmani Rial
PABPanamanian Balboa
PENPeruvian Nuevo Sol
PGKPapua New Guinean Kina
PHPPhilippine Peso
PKRPakistani Rupee
PLNPolish Złoty
PYGParaguayan Guaraní
QARQatari Rial
RONRomanian New Leu
RSDSerbian Dinar
RUBRussian Rouble
RWFRwandan Franc
SARSaudi Riyal
SBDSolomon Islands Dollar
SCRSeychelles Rupee
SDGSudanese Pound
SEKSwedish Krona
SGDSingapore Dollar
SHPSaint Helena Pound
SLESierra Leonean Leone
SOSSomali Shilling
SRDSurinamese Dollar
SSPSouth Sudanese Pound
STNSão Tomé and Príncipe Dobra
SVCSalvadoran Colón
SYPSyrian Pound
SZLLilangeni
THBThai Baht
TJSTajikistani Somoni
TMTTurkmenistani Manat
TNDTunisian Dinar
TOPTongan Paʻanga
TRYTurkish Lira
TTDTrinidad and Tobago Dollar
TWDNew Taiwan Dollar
TZSTanzanian Shilling
UAHUkrainian Hryvnia
UGXUgandan Shilling
USDUnited States Dollar
USNUnited States Dollar (next day) (funds code)
UYIUruguayan Peso en Unidades Indexadas
UYUUruguayan Peso
UYWUnidad Previsional
UZSUzbekistan Som
VEDVenezuelan Digital Bolívar
VESVenezuelan Sovereign Bolívar
VNDVietnamese Dồng
VUVVanuatu Vatu
WSTSamoan Tala
XADArab Accounting Dinar
XAFCFA Franc BEAC
XAGSilver (one troy ounce)
XAUGold (one troy ounce)
XBAEuropean Composite Unit
XBBEuropean Monetary Unit
XBCEuropean Unit of Account 9
XBDEuropean Unit of Account 17
XCDEast Caribbean Dollar
XCGCaribbean Guilder
XDRSpecial Drawing Rights
XOFCFA Franc BCEAO
XPDPalladium (one troy ounce)
XPFCFP Franc
XPTPlatinum (one troy ounce)
XSUSUCRE
XTSCode reserved for testing
XUAADB Unit of Account
YERYemeni Riyal
ZARSouth African Rand
ZMWZambian Kwacha
ZWGZimbabwe Gold

Get started

Ready to integrate Checkout Drop-in? Follow the quickstart guide for your platform to get started in minutes.

Each guide walks you through creating a session, initialising Drop-in, and handling payments with complete code examples.