Skip to main content
POST
/
api
/
v1
/
payment-requests:redirect
Create a payment request via the redirect (Pay by Bank) flow
curl --request POST \
  --url https://core.quidkey.com/api/v1/payment-requests:redirect \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "merchant_id": "550e8400-e29b-41d4-a716-446655440000",
  "customer": {
    "name": "John Doe",
    "email": "john.doe@example.com",
    "phone_number": "+447123456789"
  },
  "billing_address": {
    "address_line1": "12 West Common Drive",
    "address_line2": "Flat 1",
    "apartment": "Apt 5B",
    "city": "London",
    "state_province": "Greater London",
    "country": "GB",
    "postal_code": "SE1 1AA",
    "company_name": "Acme Ltd"
  },
  "amount": 1999,
  "currency": "GBP",
  "payment_reference": "ORDER123",
  "order_id": "1140",
  "locale": "en_GB",
  "success_url_redirect": "https://storename.com/success",
  "fail_url_redirect": "https://storename.com/failure",
  "test_transaction": false,
  "selected_bank_id": "38c39d03-8df3-4980-b0a8-7e283c8c62dd",
  "simulation": {
    "straddle": {
      "customer_outcome": "standard",
      "paykey_outcome": "standard",
      "charge_outcome": "standard",
      "balance_check": "required"
    },
    "flinks": {
      "outcome": "happy",
      "mfa": "skip"
    }
  }
}
'
{
  "success": true,
  "data": {
    "redirect_url": "https://example.com/redirect"
  }
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json

Strict input parameters for the redirect (Pay by Bank) payment request

Strict input parameters for the redirect (Pay by Bank) payment request

customer
Redirect Customer Input · object
required

Customer information for the redirect payment request

billing_address
Address · object
required

A physical address

amount
integer
required

Minor-unit amount (e.g. pence/cents). Decimals are rejected.

Required range: 1 <= x <= 9999999
Example:

1999

currency
string
required

The currency of the payment request

Required string length: 3
Pattern: ^[A-Za-z]{3}$
Examples:

"GBP"

"USD"

"EUR"

"JPY"

locale
string
required

The locale of the payment request

Example:

"en_GB"

merchant_id
string<uuid>

Merchant ID. Defaults to the logged-in merchant if not provided. Required for admin tokens.

Example:

"550e8400-e29b-41d4-a716-446655440000"

payment_reference
string

Payment reference to appear on the payer’s bank statement (max 18 alphanumeric characters)

Maximum string length: 18
Pattern: ^[A-Za-z0-9]{1,18}$
Example:

"ORDER123"

order_id
string

The unique identifier for the merchant's order

Example:

"1140"

success_url_redirect
string

URL to redirect on successful payment

Example:

"https://storename.com/success"

fail_url_redirect
string

URL to redirect on failed payment

Example:

"https://storename.com/failure"

test_transaction
boolean

Flag for test transactions

Example:

false

selected_bank_id
string

Selected bank reference

Example:

"38c39d03-8df3-4980-b0a8-7e283c8c62dd"

simulation
object

Sandbox simulation config. Honoured only when the upstream provider is a fake/sandbox backend; live providers ignore it.

Response

Created

success
boolean
required

Indicates if the request was successful

Example:

true

data
Redirect Payment Request Data · object
required

Redirect payment request response data