Skip to content

Logo

Bitlabz

We have been creating crypto software solutions since 2015. Welcome to the future with us. The bridge between Banking and Crypto

Supports in this guide: Payments

Provider website: bitlabz.com


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

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

Prerequisites: get from Bitlabz

Send a connection request at bitlabz.com/contact or contact your Bitlabz manager directly to get your account verified and receive the following credentials.

  • Widget number -> Corefy field widget_number.
  • Secret key -> Corefy field secret_key -> used only to verify the signature of Bitlabz's callbacks, not sent with the payment itself.
  • API URL -> Corefy field api_url.
  • Token -> Corefy field token -> used as the Bearer token to authenticate every request to Bitlabz.

Important

Bitlabz is a card-to-crypto on-ramp: the customer pays by card in a regular fiat currency, and Bitlabz converts the payment into a cryptocurrency on the recipient's side (see the TO_CURRENCY Constant below).

EUR, AUD, PLN, GBP, CAD, HUF, CZK, JPY, SEK, NOK, CHF.


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

Connect H2H Merchant account in Corefy Dashboard

Step 1 - Open connection form

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

Step 2 - Fill in fields and select settings

  • Widget number
  • Secret key
  • API URL
  • Token
  • Test Mode -> (enable if you are using sandbox credentials)

Success

You have connected Bitlabz 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": "1f2aa3ca-abd8-4741-980d-4017ed30cb8c",
      "service": "payment_card_eur_hpp",
      "currency": "EUR",
      "amount": 10
    }
  }
}

Payment - MAX

POST /api/payment-invoices

{
  "data": {
    "type": "payment-invoice",
    "attributes": {
      "reference_id": "test2",
      "service": "payment_card_eur_hpp",
      "currency": "EUR",
      "amount": 10,
      "customer": {
        "reference_id": "test2",
        "name": "John Doe",
        "email": "test@gmail.com",
        "date_of_birth": "1990-05-12",
        "address": {
          "country": "UA",
          "region": "Kyiv",
          "city": "Kyiv",
          "full_address": "Main street 1"
        }
      }
    }
  }
}

Important

  • customer.name is split into first/last name parts.
  • customer.address.country is sent to Bitlabz as both the customer's nationality and country of residence.
  • If a customer field is missing, Corefy falls back to the matching Constant (below); if neither is set, Bitlabz may reject the payment.

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.

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)

  • FIRST_NAME -> customer.name (first part)
  • LAST_NAME -> customer.name (second part)
  • EMAIL -> customer.email
  • COUNTRY -> customer.address.country (nationality and country of residence)
  • STATE -> customer.address.region
  • CITY -> customer.address.city
  • ADDRESS -> customer.address.full_address
  • DATE_OF_BIRTH -> customer.date_of_birth
  • TO_CURRENCY -> the cryptocurrency the payment is converted into on Bitlabz's side; defaults to EURC if not set

Refunds

Bitlabz does not support refunds.


Additional info

  1. No active status request - Bitlabz payments are finalized only via the asynchronous callback; there is no active reconciliation for this connector.

FAQ / Troubleshooting

  • Invalid credentials / auth error -> verify the widget number, token and api_url for the selected environment (test_mode)
  • Callback signature mismatch -> verify the secret_key matches the one issued by Bitlabz
  • Currency or service is not supported -> confirm allowed currencies/features in your Bitlabz account and in Corefy
  • Unexpected cryptocurrency received -> set the TO_CURRENCY Constant to the cryptocurrency you want the payment converted into; otherwise Bitlabz defaults to EURC

Question

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