Initiate a payment
Start a new payment session.
Start a new payment session. The destination bank account is determined by the API key you authenticated with — you don't pass it in the request body.
The response includes a flowUrl. Redirect the customer's browser there so they can select their bank, authenticate, and authorise the transfer.
Rate limited to 100 requests per minute.
Authorization
bearerAuth JWT obtained from POST /v1/auth/token. Tokens are valid for 60 minutes.
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
curl -X POST "https://payment-api.openfinance.aryze.io/v1/payments/initiate" \ -H "Content-Type: application/json" \ -d '{ "redirectUrl": "https://yourapp.com/checkout/return", "amount": 100.5, "currencyCode": "EUR", "reference": "ORDER12345", "metadata": "{\\"orderId\\":\\"ORDER12345\\"}" }'{
"transactionId": "2f1a3e8c-9b7d-4a11-8c6f-d3e5e9b1a2c0",
"mastercardPaymentId": "mcob_8f3c2a...",
"flowUrl": "https://payment.aryze.io/complete/abc123...",
"status": "PENDING",
"amount": 100.5,
"currencyCode": "EUR",
"reference": "ORDER12345",
"endToEndId": "E2E-ORDER12345",
"initiationTimestamp": "2026-04-21T14:30:00Z"
}{
"error": "Invalid currencyCode: XYZ"
}{
"error": "string"
}{
"error": "An error occurred while processing the payment"
}