Qostiq (Kvitum)
Supports in this guide: Payments, Payouts
Provider website: qostiq.com
What you need to do for start processing transactions (brief summary)
- Choose account type
- Get your credentials (from Qostiq)
- Connect in Dashboard
- Send an API request
Choose account type
Qostiq can be connected in different ways (depending on your needs):
- If you do H2H card payments (card data sent directly) -> choose H2H Merchant account
- If you do local payment methods (the Qostiq wallet, bank transfer, Kazakhstan mobile operators) or payouts -> choose Provider account
If you're not sure which one to use, confirm with your Corefy account manager.
Prerequisites: get from Qostiq
Contact your Qostiq account manager to get your account verified and receive the following credentials.
For H2H Merchant account:
- Shop ID -> Corefy field
shop_id. - Secret Key -> Corefy field
secret_key-> used to sign every request. - Project ID (optional) -> Corefy field
project_id-> only needed if Aggregator is enabled. - Aggregator -> Corefy field
aggregator-> enable only if your account manager confirms your Qostiq account is set up as an aggregator (multi-project) account. - API URL (optional) -> Corefy field
api_url-> leave as default unless your account manager tells you otherwise.
For Provider account:
- Merchant ID -> Corefy field
merchant_id. - Secret Key -> Corefy field
secret_key. - Project ID (optional) -> Corefy field
project_id-> only needed if Aggregator is enabled. - Aggregator -> Corefy field
aggregator. - API Type (optional) -> Corefy field
api_type->FiatorCrypto- ask your account manager which payway your account is set up for. - API URL (optional) -> Corefy field
api_url.
Payments processing (connect H2H Merchant account, create payment-invoice)
Connect H2H Merchant account in Corefy Dashboard
Step 1 - Open connection form
Open Qostiq in the provider directory and press Connect at Qostiq Provider Overview page in the New connection section. Choose H2H Merchant account.
Step 2 - Fill in fields and select settings
- Shop ID
- Secret Key
- Project ID (optional)
- Aggregator
- API URL (optional)
- Test Mode -> (enable if you are using sandbox credentials)
Choose Currency and Features. UAH, USD, EUR, and KZT are confirmed; check with your Corefy account manager which are enabled for your account.
Success
You have connected Qostiq H2H Merchant account!
First request to Corefy API (MIN)
What it does: creates a payment-invoice; card data itself is collected and submitted separately by Corefy's checkout/SDK layer, not as part of this request.
Payment - MIN
POST /api/payment-invoices
{
"data": {
"type": "payment-invoice",
"attributes": {
"reference_id": "8e3dbbb0-17af-4c9a-bedb-93bdac6900a2",
"service": "payment_card_usd_hpp",
"currency": "USD",
"amount": 10
}
}
}
Payment - MAX
POST /api/payment-invoices
{
"data": {
"type": "payment-invoice",
"attributes": {
"reference_id": "6795502c-e27d-4d07-85e0-93245aab9a3f",
"service": "payment_card_usd_hpp",
"currency": "USD",
"amount": 10,
"customer": {
"reference_id": "cus_123",
"email": "johnsmith@gmail.com"
}
}
}
}
customer is optional - the only Constant on this flow is EMAIL, so anything else you don't send is simply left out. For UAH specifically, customer.reference_id is forwarded to Qostiq as a customer identifier (falls back to a generated one if omitted).
Extended request (MAX)
Why add extra fields (typical reasons): - Provide additional customer details for compliance/reconciliation - Positively influence conversion rate - Include optional fields required by your specific flow
Options
Options are configured on the Corefy side and affect how Corefy builds provider requests or processes responses.
Currently available options (3)
ignore_callback- tells Corefy to disregard Qostiq's own callback notifications entirely.send_email- forwards the customer's email to Qostiq.forced_rejection_delay- delays automatic rejection of a stalled transaction by the given number of seconds.
ignore_callback
What it does: when enabled, Corefy ignores callback notifications sent by Qostiq for this connection, relying on status checks/reconciliation instead.
When to use: enable only if instructed by Qostiq or your Corefy account manager.
Default: false
Allowed values: true / false
send_email
What it does: when enabled, Corefy sends customer.email (or the EMAIL constant, if the request doesn't have one) to Qostiq with the payment request. When disabled, no email is sent at all.
When to use: enable it if Qostiq or your account manager asked you to provide the customer's email for this connection.
Default: false
Allowed values: true / false
forced_rejection_delay
What it does: sets, in seconds, how long Corefy waits before automatically marking a transaction that never got a final status from Qostiq as rejected.
When to use: set it if your account manager asked you to tune how long stalled transactions stay open before failing automatically.
Default: not set (platform default applies)
Allowed values: any whole number of seconds
Constants (fallback fields)
Constants are static values that Corefy can send to the provider instead of dynamic data from your API request, when those fields are missing in the request.
Priority (predictable rule): 1. If a value is present in the request -> Corefy uses the request value 2. Else if the constant is set -> Corefy uses the constant 3. Else -> provider may reject the request or apply its defaults (depends on provider)
Currently available constants (constant -> Corefy API field)
EMAIL->customer.email-> only used at all if thesend_emailoption above is enabled.
Payments processing (connect Provider account, create payment-invoice)
Connect Provider account in Corefy Dashboard
Step 1 - Open connection form
Open Qostiq in the provider directory and press Connect at Qostiq Provider Overview page in the New connection section. Choose Provider account.
Step 2 - Fill in fields and select settings
- Merchant ID
- Secret Key
- Project ID (optional)
- Aggregator
- API Type (optional) ->
FiatorCrypto - API URL (optional)
- Test Mode -> (enable if you are using sandbox credentials)
Choose Currency / Features - the Qostiq wallet, bank transfer, and Kazakhstan mobile operator top-ups are each available for different currencies - see Additional info for the full list.
Success
You have connected Qostiq Provider account!
First request to Corefy API (MIN)
What it does: creates a payment-invoice and returns a redirect link to Qostiq's hosted payment page.
Payment - MIN
POST /api/payment-invoices
{
"data": {
"type": "payment-invoice",
"attributes": {
"reference_id": "8e3dbbb0-17af-4c9a-bedb-93bdac6900a2",
"service": "kvitum_usd_hpp",
"currency": "USD",
"amount": 10
}
}
}
Payment - MAX
POST /api/payment-invoices
{
"data": {
"type": "payment-invoice",
"attributes": {
"reference_id": "6795502c-e27d-4d07-85e0-93245aab9a3f",
"service": "kvitum_usd_hpp",
"currency": "USD",
"amount": 10,
"customer": {
"reference_id": "cus_123"
}
}
}
}
customer is optional for the Qostiq wallet and bank transfer methods. For the Kazakhstan mobile operator methods (activ_kcell_kzt_hpp/altel_tele2_kzt_hpp/beeline_kzt_hpp) you also need fields.phone - see Additional info for the full method list, and the dont_send_phone option below if you'd rather not forward it.
Extended request (MAX)
Why add extra fields (typical reasons): - Provide additional customer details for compliance/reconciliation - Positively influence conversion rate - Include optional fields required by your specific flow
Options
Options are configured on the Corefy side and affect how Corefy builds provider requests or processes responses.
Currently available options (2, by service)
checkout_lifetime/checkout_language- on the Qostiq wallet services (kvitum_<ccy>_hpp) only.dont_send_phone- on the Kazakhstan mobile operator services (activ_kcell_kzt_hpp/altel_tele2_kzt_hpp/beeline_kzt_hpp) only.
checkout_lifetime
What it does: sets, in seconds, how long the Qostiq wallet checkout page stays valid before it expires.
When to use: set it if you want a shorter or longer window than Qostiq's own default for the customer to complete the payment.
Default: not set (provider's own default applies)
Allowed values: any whole number of seconds (as a string)
checkout_language
What it does: sets the language of the Qostiq wallet's hosted checkout page.
When to use: enable it to force a specific checkout language rather than leaving it to Qostiq's own detection.
Default: not set (provider's own default applies)
Allowed values: en (English), pl (Polish), uk (Ukrainian), ru (Russian)
dont_send_phone
What it does: when enabled, Corefy does not forward fields.phone to Qostiq for this mobile operator service, even if you sent one.
When to use: enable only if instructed by Qostiq or your Corefy account manager.
Default: false
Allowed values: true / false
Payouts processing (connect Provider account, create payout-invoice)
Connect Provider account in Corefy Dashboard
Uses the same Provider account connection as Payments above - one connection covers both directions, there's nothing extra to fill in for payouts specifically.
First request to Corefy API (MIN)
What it does: creates a payout-invoice and sends funds to a Qostiq wallet, a card, or a Kazakhstan mobile operator account.
Payout - MIN (Qostiq wallet)
POST /api/payout-invoices
{
"data": {
"type": "payout-invoice",
"attributes": {
"reference_id": "0dde9e79-2c64-4703-adaf-93d710633401",
"service": "kvitum_usd",
"currency": "USD",
"amount": 10,
"customer": {
"reference_id": "cus_123"
},
"fields": {
"account_id": "qostiq-wallet-id-123"
}
}
}
}
Payout - MAX (card, EUR)
POST /api/payout-invoices
{
"data": {
"type": "payout-invoice",
"attributes": {
"reference_id": "7976b4ce-fadd-4585-baa0-6b02c65351dc",
"service": "payment_card_eur",
"currency": "EUR",
"amount": 10,
"customer": {
"reference_id": "cus_123",
"name": "John Smith"
},
"fields": {
"card_number": "4111111111111111"
}
}
}
}
fields.account_id (Qostiq wallet payouts) or fields.card_number (card payouts) is required depending on the method. For payment_card_eur specifically, the cardholder's first/last name is also required - taken from customer.name if present, otherwise from the CUSTOMER_FIRST_NAME/CUSTOMER_LAST_NAME constants below. This connector also supports Kazakhstan mobile operator payouts (activ_kcell_kzt/altel_tele2_kzt/beeline_kzt - use fields.phone_number).
Extended request (MAX)
Why add extra fields (typical reasons): - Provide additional customer details for compliance/reconciliation - Positively influence conversion rate - Include optional fields required by your specific flow
Constants (fallback fields)
Constants are static values that Corefy can send to the provider instead of dynamic data from your API request, when those fields are missing in the request. Available only for the payment_card_eur payout service.
Priority (predictable rule): 1. If a value is present in the request -> Corefy uses the request value 2. Else if the constant is set -> Corefy uses the constant 3. Else -> provider may reject the request or apply its defaults (depends on provider)
Currently available constants (constant -> Corefy API field)
CUSTOMER_FIRST_NAME->customer.name(first part)CUSTOMER_LAST_NAME->customer.name(second part)
Additional info
- Callback routing. For H2H Merchant account, callback routing is handled automatically by Corefy - there's nothing to register in Qostiq's own back-office. For Provider account (Payments and Payouts), callback routing is also automatic - Corefy generates the callback URL per transaction.
-
Local payment methods available on the Payments (Provider account) flow (actual availability depends on what's enabled for your account):
Method Currency Service code Qostiq wallet USD / EUR / UAH / KZT kvitum_usd_hpp/kvitum_eur_hpp/kvitum_uah_hpp/kvitum_kzt_hppBank transfer UAH / KZT bank_transfer_uah_hpp/bank_transfer_kzt_hppActiv/Kcell (Kazakhstan mobile) KZT activ_kcell_kzt_hppAltel/Tele2 (Kazakhstan mobile) KZT altel_tele2_kzt_hppBeeline (Kazakhstan mobile) KZT beeline_kzt_hpp -
Local payout methods available on the Payouts (Provider account) flow (actual availability depends on what's enabled for your account):
Method Currency Service code Required fieldsQostiq wallet USD / EUR / UAH / KZT kvitum_usd/kvitum_eur/kvitum_uah/kvitum_kztaccount_idCard USD / EUR / UAH / KZT payment_card_usd/payment_card_eur/payment_card_uah/payment_card_kztcard_numberActiv/Kcell (Kazakhstan mobile) KZT activ_kcell_kztphone_numberAltel/Tele2 (Kazakhstan mobile) KZT altel_tele2_kztphone_numberBeeline (Kazakhstan mobile) KZT beeline_kztphone_number
FAQ / Troubleshooting
- Invalid credentials / auth error -> verify credentials for the selected environment and account type
- Mobile operator payment/payout rejected -> confirm
fields.phone/fields.phone_numberis a valid Kazakhstan number for the chosen operator - Currency or service is not supported -> confirm allowed currencies/features in your Qostiq account and in Corefy
- Not sure which account type to use? -> ask your Corefy account manager
Question
Still looking for help connecting your Qostiq account? Please contact our support team!