First API Call (Production)
This is the production environment. Every transaction results in real money movement!
Now that all setup steps are complete, make your first production API call – carefully!
Technical Prerequisites
- RPP registration complete (production portal)
- API user created
- Permissions set
- Authentication configured (CSR/JWT or HMAC)
- Credentials extracted and stored securely
- Testing was successful
Don't forget that for the Payment API, Consent creation and approval (production) is still required!
Production Environment URLs
API base URL (production):
https://premium-api.raiffeisen.hu
Pay Portal (production):
https://payportal.raiffeisen.hu
- URL has NO
-pcsuffix - 24/7 availability (not 7-20)
- Real transactions
Setting HTTP Headers
CSR/JWT-based authentication (Payment API, EAM, Payment Request)
Required headers:
| Header | Value | Description |
|---|---|---|
x-api-key | From RPP portal | The API key bound to the technical user (TECHUSER). A company can have multiple TECHUSERs and thus multiple x-api-key values. |
x-jws-signature | Detached JWT | The signature computed on the request body. Format: header.signature (payload omitted). Details: JWS signature generation |
x-correlation-id | UUID v4 | Request identifier for searching in logs. Unique value for each call. |
x-request-id | UUID v4 | Technical identifier for searching in logs. Unique value for each call. |
user-agent | Any string | Required header, content can be anything (e.g. MyApp/1.0.0). |
Content-Type | application/json | Format of the request body. |
JWS signature generation:
A Detached JWS signature is created from the request body for each API call. This is not an OAuth2 bearer token – there is no expiry, a new signature is required for each call.
Detailed guide: JWS Signature Generation
HMAC-based authentication (Online Payment Page)
Detailed guide: HMAC Authentication (production)
First Production Calls by Product
Balance API
Detailed documentation: Balance API →
Payment API
Detailed documentation: Payment API →
qvik EAM
Detailed documentation: qvik EAM →
Payment Request
Detailed documentation: Online Payment Page →
Common Errors
401 Unauthorized
Possible causes:
- Incorrect JWT token or API key
- Expired certificate (CSR/JWT)
- Wrong KID in JWT header
- Wrong HMAC signature
Solution:
- Check that the KID is correct
- Check that you signed the JWT with the private key
- Check the API key
- Check certificate expiry (
openssl x509 -in cert.pem -noout -dates)
403 Forbidden
Possible causes:
- Insufficient permissions
- Expired Consent (Payment API)
- Timestamp too old (> 5 min) (HMAC)
- Deactivated API user
Solution:
- Check permissions on the RPP portal
- Check Consent expiry (Payment API)
- Synchronize clock (NTP)
- Check API user status on RPP
400 Bad Request
Possible causes:
- Incorrect payload format
- Missing required field
- Invalid amount (negative, too large)
- Invalid account number format
Solution:
- Validate the payload with JSON schema
- Check required fields in the product documentation
- Check the amount format (integer, in fillér)
500 Internal Server Error
Possible causes:
- Bank backend issue
- Incorrect configuration
- Network timeout
Solution:
- Check production environment availability (24/7 but may have maintenance)
- Retry with exponential backoff
- Contact 24/7 support: premiumapi_support@raiffeisen.hu or +36 80 488 588