Skip to content

Logo

Kitopay

Empowering payments, tailored for you.

Supports in this guide: Payments

Provider website: kitopay.com


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

  1. Get your credentials (from Kitopay)
  2. Connect in Dashboard
  3. Send an API request

Prerequisites: get from Kitopay

Contact your Kitopay account manager to get your account verified and receive the following credentials.

  • Public key -> Corefy field public_key.
  • Secret key -> Corefy field secret_key.

EUR, USD.


Payments processing (connect H2H Merchant account, create payment-invoice)

Connect H2H Merchant account in Corefy Dashboard

Step 1 - Open connection form

Open Kitopay in the provider directory and press Connect at Kitopay Provider Overview page in the New connection section.

Step 2 - Fill in fields and select settings

  • Public key
  • Secret key
  • Currency / Features -> choose values available for your account (EUR, USD)
  • Test Mode -> (enable if you are using sandbox credentials)

Success

You have connected Kitopay H2H Merchant account!


First request to Corefy API (MIN)

What it does: creates a payment-invoice in two steps behind the scenes - Kitopay first registers the payment and returns a card-submission URL, then Corefy's checkout/SDK layer submits the card data to that URL directly (a PCI-compliant proxy), not as part of this request.

Payment - MIN

POST /api/payment-invoices

{
  "data": {
    "type": "payment-invoice",
    "attributes": {
      "reference_id": "6be05631-8710-4b14-a369-1928a2b70eda",
      "service": "payment_card_eur_hpp",
      "currency": "EUR",
      "amount": 10,
      "customer": {
        "reference_id": "4c7c201c-e332-468b-8615-1e6fe86b331b"
      }
    }
  }
}

Important

customer.reference_id, customer.email, and customer.phone are accessed without a safe fallback in the connector's own code - if the customer object is missing entirely from the request, the request fails. Always send at least customer.reference_id.

Payment - MAX

POST /api/payment-invoices

{
  "data": {
    "type": "payment-invoice",
    "attributes": {
      "reference_id": "c22e66d5-48fa-41b0-b322-55a985204e50",
      "service": "payment_card_eur_hpp",
      "currency": "EUR",
      "amount": 10,
      "customer": {
        "reference_id": "4c7c201c-e332-468b-8615-1e6fe86b331b",
        "name": "John Doe",
        "email": "test@example.com",
        "phone": "+380680786663",
        "date_of_birth": "1990-01-01",
        "address": {
          "full_address": "Main street 1",
          "country": "UA",
          "city": "Kyiv",
          "region": "Kyiv",
          "post_code": "01001"
        }
      }
    }
  }
}

Important

If a customer field is missing and the matching Constant isn't set either, Kitopay receives an empty string for that field rather than the field being left out.


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

  • ignore_callback -> optional, boolean - for cascading to work correctly, ignores Kitopay's asynchronous callback and relies only on an active status request to finalize the payment.

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 -> an empty value is sent to Kitopay for that field

Currently available constants (constant -> Corefy API field)

  • FIRST_NAME -> customer.name (first name)
  • LAST_NAME -> customer.name (last name)
  • EMAIL -> customer.email
  • DATE_OF_BIRTH -> customer.date_of_birth
  • COUNTRY -> customer.address.country
  • CITY -> customer.address.city
  • REGION -> customer.address.region
  • FULL_ADDRESS -> customer.address.full_address
  • POST_CODE -> customer.address.post_code
  • COUNTRY_PHONE_CODE -> used to resolve customer.phone's country code when neither customer.address.country nor customer.phone are set
  • PHONE -> customer.phone

Refunds

Kitopay does not support refunds.


Additional info

  1. Active reconciliation is available - both the asynchronous callback and an active status request can finalize the payment, unless ignore_callback is enabled. On a failing callback, Corefy additionally triggers a reconcile call to capture the detailed resolution reason.
  2. No recurring - this connector does not support saving/charging a token through Corefy.
  3. No Apple Pay / Google Pay - card payments only.

FAQ / Troubleshooting

  • Invalid credentials / auth error -> verify the public key and secret key
  • Currency or service is not supported -> confirm allowed currencies/features in your Kitopay account and in Corefy - only EUR and USD are available
  • Request rejected / customer errors -> make sure customer.reference_id is always sent
  • Refund fails -> Kitopay does not support refunds through Corefy

Question

Still looking for help connecting your Kitopay account? Please contact our support team!