ARYZE Open Finance

Initiate a payment

Start a new payment session.

POST
/v1/payments/initiate

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
AuthorizationBearer <token>

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"
}
Empty
{
  "error": "An error occurred while processing the payment"
}