Comparison Chart

For online payment, the merchant decides which approaches fit the business requirements.

Integration approachHosted payment pageSeamless integrationIn-page checkoutMobile XDKDirect server API + CSERecurring API
Browser dependencyYes, popup and redirectionYes, popup and redirectionYes, iframe, popup and redirectionSmartphone built-in browserDependsNo
UI/UXModerateBetterBetterBest for mobileHandled by merchantHandled by merchant
Time to market (man-day)1–72–142–142–145–6010–90
Suitable forFast and easy deploymentBetter UXBetter UXIn-app purchaseBetter UI & UXSubscription or billing
Mobile readinessRWDRWDRWDNative / hybridBackend onlyBackend only
PCI-DSS compliantPGPGPGPGPG / Merchant if handling PANPG / Merchant if handling PAN
Availability on github20/22 of the cart modules6/22 of the cart modulesYes12 dev-tools supportednilnil
Available endpointsall 3 endpointsall 3 endpointsall 3 endpointsnotification & callback URLall 3 endpointsnotification & callback URL
Fraud screeningBy PGBy PGBy PGBy PGBy merchantBy merchant


For response handling, setup these endpoints (webhook) to capture the payment response.

Response endpointReturn URLNotification URLCallback URL
Browser dependencyYesNoNo
Payment type responseRealtime paymentRealtime paymentCash payment / defer update
ReliabilityLowHighHigh
SecurityLow if payment verification is not enabledHighHigh
IPN implementation

Frontend: easier to implement using JS snippet with treq=0

Backend: POST back all values + treq=1 to returnipn.php, more reliable

Backend: POST back all the values + treq=1 to returnipn.phpBackend: echo "CBTOKEN: MPSTATOK"