---
title: "Initiate a payment for a specific payment request with selected bank"
method: POST
path: "/api/v1/payment-initiation/{paymentRequestId}"
tags: ["Payments"]
---

# Initiate a payment for a specific payment request with selected bank

`POST /api/v1/payment-initiation/{paymentRequestId}`

Initiate a payment for a specific payment request with selected bank

## Path parameters

- `paymentRequestId` string, uuid, required — The unique identifier of the payment request

## Request body

- union
  - object
    - `bankId` string, uuid, required — The selected bank ID for redirect-based payment flows
    - `paymentScheme` union — Payment scheme selected by user. null = use default scheme for customer country, explicit value = user choice
      - 'SEPA_CREDIT_TRANSFER'
      - 'MULTIBANCO'
      - 'DANISH_DOMESTIC_CREDIT_TRANSFER'
      - 'FASTER_PAYMENTS'
      - 'BACS'
      - 'BECS'
      - 'ACH'
    - `clientEvidence` object
      - `fingerprint` string
      - `timezone` string
      - `checkout_page_version` string
      - `payment_terms_agreement_id` string, uuid — The Agreement.id of the ACH Authorization (Payment Terms) that the checkout page showed the customer. Server validates it resolves to a kind=ach_authorization agreement.
      - `payment_page_url` string
      - `authorization_language` string — Exact click-wrap text rendered next to Pay at the moment of acceptance. Stored verbatim on the EvidenceRecord so the stored evidence matches what the customer saw.
  - object
    - `customerBankAccountId` string, uuid, required — The selected customer bank account ID for direct payment flows
    - `paymentScheme` union — Payment scheme selected by user. null = use default scheme for customer country, explicit value = user choice
      - 'SEPA_CREDIT_TRANSFER'
      - 'MULTIBANCO'
      - 'DANISH_DOMESTIC_CREDIT_TRANSFER'
      - 'FASTER_PAYMENTS'
      - 'BACS'
      - 'BECS'
      - 'ACH'
    - `clientEvidence` object
      - `fingerprint` string
      - `timezone` string
      - `checkout_page_version` string
      - `payment_terms_agreement_id` string, uuid — The Agreement.id of the ACH Authorization (Payment Terms) that the checkout page showed the customer. Server validates it resolves to a kind=ach_authorization agreement.
      - `payment_page_url` string
      - `authorization_language` string — Exact click-wrap text rendered next to Pay at the moment of acceptance. Stored verbatim on the EvidenceRecord so the stored evidence matches what the customer saw.

## Response `200`

Success

- PaymentInitiationResponse
  - `success` boolean, required — Indicates if the request was successful
  - `data` object, required — Payment initiation response data
    - `order_id` string — The unique identifier of the order of the payment request

## Other responses

- `400` — Bad Request
- `401` — Unauthorized

## Changes

- **2026-06-16** `b372e7d5563d` — 2 breaking, 3 warning, 3 info
  - the request's body type/format changed from `object`/`` to ``/``
  - the `error/code` response's property type/format changed from `string`/`` to ``/`` for status `400`
  - removed the request property `bankId`
  - removed the request property `paymentScheme`
  - …4 more
- **2025-11-03** `6637b341d86d` — 1 info
  - endpoint added
- **2025-11-02** `919eb7a392aa` — 1 breaking
  - api path removed without deprecation

[Change history](https://skmtc.dev/banqzinc/apis/quidkey-api/changes/api/v1/payment-initiation/:paymentRequestId/post.md)

---

[API](https://skmtc.dev/banqzinc/apis/quidkey-api.md) · [All operations](https://skmtc.dev/banqzinc/apis/quidkey-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/banqzinc/quidkey-api/revisions/f86d2bdbcb08/schema)
