Payment security
Verify qualifying payment events before changing protected transaction states.
FINTACLOUD / SECURITY
Protecting the transaction means protecting the money, the identity and the evidence across the protected transaction lifecycle.
The security model
Verify qualifying payment events before changing protected transaction states.
Restrict access to authenticated and authorized users.
Protect critical financial actions against unauthorized or duplicate execution.
Minimize unnecessary exposure of sensitive identity information.
Maintain transaction records and relevant evidence to support dispute review.
Protect application services, credentials, integrations and transaction systems using appropriate technical and organizational controls.
Payment verification
Authenticated events
Payment-provider notification endpoints can be publicly reachable, which means an incoming payment notification should not simply be accepted as genuine.
Where supported by the applicable payment provider, cryptographically signed payment events are validated before qualifying financial events are processed: the event is received, its origin and signature are validated, the transaction reference is matched, the expected state is verified, and only then is the event processed. If the required verification fails, the event should not be treated as authoritative payment confirmation.
The browser does not decide whether money arrived. A user browser or mobile device should not be the final authority for determining whether a protected transaction has been successfully funded. Where supported by the applicable payment infrastructure, qualifying transaction information is verified through trusted server-to-server processes before sensitive financial states are updated.
Duplicate protection
Repeated notifications, retries and network interruptions should not be able to cause the same financial event to be applied more than once.
Server-side verification provides another layer of protection against manipulated browser responses, forged callbacks and misleading client-side information.