Skip to content

Logo

Qostiq (Kvitum)

Supports in this guide: Payments, Payouts

Provider website: qostiq.com


What you need to do for start processing transactions (brief summary)

  1. Choose account type
  2. Get your credentials (from Qostiq)
  3. Connect in Dashboard
  4. 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 -> Fiat or Crypto - 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 the send_email option 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) -> Fiat or Crypto
  • 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

  1. 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.
  2. 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_hpp
    Bank transfer UAH / KZT bank_transfer_uah_hpp / bank_transfer_kzt_hpp
    Activ/Kcell (Kazakhstan mobile) KZT activ_kcell_kzt_hpp
    Altel/Tele2 (Kazakhstan mobile) KZT altel_tele2_kzt_hpp
    Beeline (Kazakhstan mobile) KZT beeline_kzt_hpp
  3. 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 fields
    Qostiq wallet USD / EUR / UAH / KZT kvitum_usd / kvitum_eur / kvitum_uah / kvitum_kzt account_id
    Card USD / EUR / UAH / KZT payment_card_usd / payment_card_eur / payment_card_uah / payment_card_kzt card_number
    Activ/Kcell (Kazakhstan mobile) KZT activ_kcell_kzt phone_number
    Altel/Tele2 (Kazakhstan mobile) KZT altel_tele2_kzt phone_number
    Beeline (Kazakhstan mobile) KZT beeline_kzt phone_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_number is 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!