payment_token that you’ll use to render the bank selection iframe on your checkout page.
Prerequisites
- A Quidkey merchant account with
client_idandclient_secret - HTTPS enabled on your checkout page
Sign Up for Credentials
Create your merchant account to get your client_id and client_secret.
Step 1: Authenticate
Get an access token using your credentials. The token is valid for 15 minutes.Step 2: Create a Payment Request
Use the access token to create a payment request. This should be called once the customer has confirmed the final price at checkout.You’ll receive a
payment_token (valid for 15 minutes) to embed in your iframe. See the Create Payment Request API for the complete specification.Request Body Reference
| Field | Type | Required | Description |
|---|---|---|---|
customer.name | string | Yes | Customer’s full name |
customer.email | string | Yes | Customer’s email address |
customer.phone | string | Yes | E.164 format phone number |
customer.country | string | Yes | ISO 3166-1 alpha-2 country code |
order.amount | integer | Yes | Amount in minor units (cents). 2550 = €25.50 |
order.currency | string | Yes | ISO 4217 currency code |
order.payment_reference | string | Yes | Reference shown on bank statement |
order.order_id | string | No | Your internal order identifier |
order.locale | string | No | BCP-47 locale tag. Default: en |
order.test_transaction | boolean | No | Set true for development testing |
order.rewards | object | No | Optional loyalty rewards (see below) |
redirect_urls.success_url | string | Yes | Where to redirect after successful payment |
redirect_urls.failure_url | string | Yes | Where to redirect after failed/cancelled payment |
Amount format: Use minor units (cents).
1000 = €10.00, 2550 = €25.50. This matches Stripe’s format exactly.Rewards (optional)
Rewards (optional)
Include a
rewards object to display loyalty rewards during checkout:extra_rewards: reward points for this transactiontotal_rewards: total points customer will receive (optional)description: text describing the reward (max 255 characters, optional)
Update a Payment Request (Optional)
After creating a payment request, you can update the amount and/or rewards before the customer initiates payment with their bank. This is useful for dynamic shipping costs, discount codes, or cart modifications.Next Steps
Embed the Checkout
Add the bank selection iframe to your checkout page
After Payment
Handle webhooks, verify signatures, and process fees
API Reference
Full endpoint documentation with interactive playground
Embedded Flow Overview
Back to the overview and integration flow diagram