Card
Quickpay card payments merchant activation and payment flow.
This guide covers integration of Quickpay card payments through the Ping Payments API.
Quickpay Card is a redirect-based payment experience hosted by Quickpay. Customers complete checkout on Quickpay's payment window and are then returned to your site. The window can optionally be opened in an iframe.

Merchant onboarding
Before accepting Quickpay card payment the method has to be activated on the Merchant by calling Activate Payment Provider Method.
Activating payment method
Use provider: quickpay and method: card in the activate merchant payment method request.
The Designated Merchant
Every Quickpay card payment requires a designated_merchant_id in the provider method parameters — this is the Ping Payments Merchant ID (UUID) used to process the payment through Quickpay.
Requirements:
- Must have an active Quickpay merchant account with the card method activated
- Must appear as the
merchant_idof at least one order item - For multi-merchant payments, only one merchant is designated
Initiating a Payment
Use provider: "quickpay" and method: "card" in requests.
Required Parameters
| Parameter | Type | Purpose |
|---|---|---|
designated_merchant_id | string (uuid) | The primary Ping Payments Merchant ID for the payment |
redirect_url | string (uri) | URL Quickpay redirects the end user to after payment confirmation |
Important: Do not rely on the user always reaching the
redirect_url. Some users may close the payment window immediately after seeing the confirmation and never be redirected back. Use the asynchronous payment status callback as the source of truth.
Optional Parameters
| Parameter | Type | Default | Purpose |
|---|---|---|---|
language | string | — | ISO 639-1 language code for the checkout page (e.g., "sv", "en") |
branding | string | "standard" | Checkout styling. One of "standard" or "minimal" |
framed | boolean | false | Allow opening the payment window in an iframe |
Supported Currencies
SEK, NOK, EUR, DKK
Branding
Two types of styling is available "standard" and "minimal". The "standard" branding is more suitable when redirecting the user to the payment session, while minimal is more optimized for being used inside an iframe.

Checkout when using standard branding

Checkout when using minimal branding
Payment Flow
- Initiate the payment — receive a
payment_link_url - Redirect (or iframe) the customer to the Quickpay payment window
- Customer completes the payment on Quickpay
- Customer is redirected back to your
redirect_url - Final payment status is delivered via the standard Ping payment status callback
Example Request
{
"currency": "SEK",
"method": "card",
"order_items": [
{
"amount": 10000,
"merchant_id": "{{merchantId}}",
"name": "Product A",
"vat_rate": 25.0
}
],
"provider": "quickpay",
"total_amount": 10000,
"provider_method_parameters": {
"designated_merchant_id": "{{merchantId}}",
"redirect_url": "https://example.com/return",
"language": "sv",
"branding": "standard",
"framed": false
}
}Example Response
{
"id": "15c44587-7ebb-43a3-b437-8d00e5f8df7a",
"provider_method_response": {
"payment_link_url": "https://payment.quickpay.net/payments/abc123"
}
}Testing
Use these numbers to invoke a certain response. You may use a random expiration date and CVD - (as long as they “seem” valid).
It is possible to select the country the test card is issued in, by setting the CVD to a country code from ISO 3166-1.
E.g. by filling in 752 as CVD, the test card will be issued in Sweden.
| Card number | Outcome | Network |
|---|---|---|
| 1000000000000008 | Approve | VISA |
| 1000000000000016 | Rejected | VISA |
| 1000000000000073 | 3D Secure is required | VISA |
| 1000010000000007 | Approve | Mastercard |
| 1000010000000015 | Rejected | Mastercard |
| 1000010000000072 | 3D Secure is required | Mastercard |
Refunds
Quickpay card payments support full and partial refunds through the standard Ping refund flow. Refunds are initiated immediately; the final refund status is delivered asynchronously via the standard Ping refund status callback. The refund currency must match the original payment currency.
Updated 9 days ago