Prerequisites
- Pass UQPAY’s risk control review to enable the feature
- A publicly accessible HTTPS endpoint to receive authorization requests
- PGP key pair for request/response encryption
How it works
Key principles:- You only receive authorization requests for transactions that have already passed UQPAY’s risk controls.
- Transactions declined by UQPAY are not sent to your endpoint — you receive only the
issuing.transaction.authorizationwebhook notification. - You must respond within the configured timeout period (1 to 5 seconds, set per your agreement with UQPAY). If no valid response is received, the transaction result is determined by your configured default timeout action (approve or decline).
Security: PGP encryption
The entire request and response body is PGP-encrypted. Before integration, you and UQPAY exchange PGP public keys:UQPAY PGP public key
UQPAY PGP public key
API specification
Request
UQPAY sends aPOST request to your configured endpoint with these headers:
The decrypted request body contains:
POS entry mode values
POS entry mode values
POS condition code values
POS condition code values
POS environment values
POS environment values
ECI (mail/phone/e-commerce and payment indicator) values
ECI (mail/phone/e-commerce and payment indicator) values
Response
Respond with HTTP200 and the following JSON body, encrypted with UQPAY’s PGP public key:
Example response body (before encryption):
Response codes
The transaction is approved only when all three conditions are met:
- HTTP status code is
200 response_codeis"00"transaction_idmatches the request
Integration steps
- Contact UQPAY — Reach out to UQPAY to enable the Authorization Decision API feature for your account.
-
Exchange configuration — Provide the following to UQPAY:
- Your PGP public key (RSA 2048-bit)
- Your authorization decision endpoint URL (HTTPS)
- Decision timeout window (1 to 5 seconds; defaults to 2 seconds)
- Default timeout action:
decline(auto-decline on timeout) ordelegate(UQPAY decides on your behalf)
18.139.246.78,54.251.52.172. - Implement your endpoint — Build a POST endpoint that decrypts the request body using your PGP private key, evaluates the transaction based on your business logic, encrypts the response using UQPAY’s public key, and returns the encrypted response within the configured timeout period.
- Test the integration — Work with UQPAY to run test transactions in the sandbox environment and verify correct encryption, decryption, and response handling.

