Initiate a Payment (Direct)
Drive bank selection yourself and get the bank authentication URL.
Initiate a Payment (Direct flow)
Skip this page if you use the hosted flow (redirecting topayUrl).This step is only for the direct API integration where you select the bank
yourself.
POST https://api.open-finance.ai/v2/pay/open-banking-init
Takes the paymentId from Create a Payment plus a providerId (the bank),
and returns the bank's Strong Customer Authentication (SCA) URL. Requires a
Bearer token (see Authentication); rejected requests return the standard
error shape — see Errors.
Key fields
| Field | Required | Description |
|---|---|---|
providerId | ✅ | The bank/provider to pay from. List options via GET /v2/providers. |
paymentId | – | The id returned by POST /v2/payments. |
redirectUrl | – | Where the user returns after authenticating at the bank. |
psuId | – | The payer's national ID or passport number, when the provider requires it. |
psuCorporateId | – | The payer's business ID, for corporate payments. |
If you did not pre-create a payment, you can passpaymentInformationdirectly on this call instead of
paymentId. See the API Reference.
Request
curl -X POST https://api.open-finance.ai/v2/pay/open-banking-init \
-H "Authorization: Bearer <accessToken>" \
-H "Content-Type: application/json" \
-d '{
"paymentId": "01J8X...",
"providerId": "hapoalim",
"redirectUrl": "https://your-app.com/payment/done"
}'Response
{
"paymentId": "01J8X...",
"status": "RCVD",
"scaOAuth": "https://bank.example/oauth/authorize?..."
}| Field | Description |
|---|---|
paymentId | The payment being authorized. |
status | Current payment status (see Payment Status). |
scaOAuth | The bank authentication URL — redirect the user here. |
Redirect the user to scaOAuth so they can authenticate and approve the payment
at their bank. When they return to your redirectUrl, move on to
Payment Status.
Financy appends the result to yourredirectUrlas query parameters —
paymentId,userId, andpaymentStatus— so the return page can read the
outcome directly. For mobile deep links, addisDeepLinkQueryParams=trueto
have the parameters appended as query params rather than merged into the path.
Updated 7 days ago

