Getting Started for TPPs (Sandbox) v2.1
Prerequisites
- You are onboarded to the sandbox Trust Framework: If you are not onboarded onto the sandbox Trust Framework please see Trust Framework Onboarding
Postman Collection (Sandbox)
Please fill in the below using an Application (Client) you have created in the Sandbox Trust Framework
See: Trust Framework client_id
See: roles reference
See: redirect URI guidance
See: mTLS certificates
See: finding your key ID (kid)
See: The .well-known Endpoint
https://auth1.altareq1.sandbox.apihub.openfinance.ae/.well-known/openid-configuration
for an LFI's preprod environment it will be
https://auth1.[LFI CODE].preprod.apihub.openfinance.ae/.well-known/openid-configuration
Setting Up Postman
1. Install postman
- Download Postman from https://www.postman.com/downloads/.
- Launch Postman and sign in (or create a free account).
2. Import the Collection
- In Postman, click Import (top left).
- Select the downloaded .json file.
- The collection will appear in your Collections sidebar.
3. Configure mTLS certificates in Postman
Open Postman settings
- Click the gear icon (top right) → Settings → Certificates tab.
Navigate to the Certificates tab.
Click Add Certificate:
Add the host of the LFI Discovery URL you input
- In Host, enter the domain (no protocol), e.g.
*.altareq1.sandbox.apihub.openfinance.ae. or*.[LFI CODE].preprod.apihub.openfinance.ae - Leave port blank (defaults to 443)
- In Host, enter the domain (no protocol), e.g.
Attach your certs
- CRT file: browse to
client_transport.pem. - KEY file: browse to
client_transport.key. - Save the certificate entry.
- CRT file: browse to
- Test by registring
- Send a request to the TPP's registration endpoint.
- If you receive a
204 (No Content)

Note if you are testing multiple LFIs in sandbox/pre-prod you may need to change the host in (4)
Your First Open Finance Requests
Step 1 – Prepare the requests for /par
Navigate to the Auth Flow folder within Single Instant Payment and run the three O3 utility requests in order:
- Send O3 Util: Prepare Encrypted PII — encrypts the PII payload required for the consent.
- Send O3 Util: Prepare Request Object JWT — builds the signed request object for the
/parcall. - Send O3 Util: Prepare Private Key JWT — creates the client assertion used for authentication.
Step 2 – Stage the Consent and Redirect to the LFI
- Send the
POST /parrequest to stage the payment consent. - Click Visualize in the Postman response panel — this renders the response as a clickable redirect link.
- Copy the link and open it in a browser to start the authorization redirect to the LFI.
Step 3 – Authenticate and Authorize
- Authenticate with the LFI.
Model Bank Credentials (v2.1)
If you are using the Model Bank, the sandbox credentials are:
| Username | Password |
|---|---|
omar.farsi@testmail.ae | PIX |
- Select the account to debit and authorize the payment consent.
Step 4 – Exchange the Authorization Code for a Token
After the LFI redirects back to your redirect_uri, the URL will contain a code query parameter.
- Copy the
codevalue from the redirect URL. - Set it as the
authorizationCodecollection variable in Postman. - Send the token request to exchange the code for an access token.
Step 5 – Initiate the Payment
Navigate to the Payments folder and run the O3 utility requests, then submit the payment:
- Send O3 Util: Prepare Encrypted PII — encrypts the payment PII.
- Send O3 Util: Prepare Request Object JWT for SIP — builds the signed request object for the payment.
- Send
POST /payments.
A 201 response confirms the payment was successfully initiated.
Step 6 – Retrieve the Payment ID and Status
- Decode the JWT received in the
POST /paymentsresponse to retrieve thePaymentIdandStatus. The status will typically start asPending.

