Skip to content

Logo

Btcbit

Secure, reliable and fully regulated cryptocurrency exchange

Supports in this guide: Payments, Payouts

Provider website: btcbit.net


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

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

Prerequisites: get from Btcbit

Send a connection request at btcbit.net/contacts or contact your Btcbit manager directly to get your account verified and receive the following credentials.

  • Partner ID -> Corefy field partner_id.
  • Secret key -> Corefy field secret_key.
  • Callback secret key -> Corefy field callback_secret_key.

One Provider account is used for both Payments and Payouts. Available routes and currencies are auto-discovered live from your Btcbit account.


Payments processing (connect Provider account, create payment-invoice)

Connect Provider account in Corefy Dashboard

Step 1 - Open connection form

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

Step 2 - Fill in fields and select settings

  • Partner ID
  • Secret key
  • Callback secret key
  • Test Mode -> (enable if you are using sandbox credentials)

Success

You have connected Btcbit Provider account!


First request to Corefy API (MIN)

What it does: creates a payment-invoice and redirects the customer to Btcbit's hosted checkout.

Payment - MIN

POST /api/payment-invoices

{
  "data": {
    "type": "payment-invoice",
    "attributes": {
      "reference_id": "028c71f8-1c32-4524-ac56-9d491c86cadc",
      "service": "neteller_eur_hpp",
      "currency": "EUR",
      "amount": 10
    }
  }
}

Payment - MAX

POST /api/payment-invoices

{
  "data": {
    "type": "payment-invoice",
    "attributes": {
      "reference_id": "73cd1a7f-56ad-4de9-aa01-9edb3c752e71",
      "service": "neteller_eur_hpp",
      "currency": "EUR",
      "amount": 10,
      "customer": {
        "reference_id": "73cd1a7f-56ad-4de9-aa01-9edb3c752e71",
        "name": "John Doe",
        "email": "johndoe@example.com",
        "phone": "1523456789",
        "address": {
          "full_address": "Kurfurstendamm 21",
          "country": "DE",
          "city": "Berlin",
          "region": "BE",
          "post_code": "10117"
        }
      }
    }
  }
}

Important

  • customer.name is split into first/last name; customer.email/customer.address.country/customer.address.city are sent as given, or fall back to the matching Constant if missing.
  • customer.address.full_address, .post_code, and customer.phone are required for the neteller, skrill, and paysafecard payment methods specifically - not for rapidtransfer or ideal.
  • For customers in the US or Canada, customer.address.region (2-letter state/province code) is required; for all other countries it's optional.

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. They are configured per route, after you add the routes you need to your connection.

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)

  • CLIENT_IP -> client IP address
  • COUNTRY -> customer.address.country (3-letter ISO code)
  • REGION -> customer.address.region
  • EMAIL -> customer.email
  • NAME -> customer.name (first part)
  • SURNAME -> customer.name (last part)
  • CITY -> customer.address.city

Refunds

Btcbit does not support refunds for Payments.


Payouts processing (connect Provider account, create payout-invoice)

Connect Provider account in Corefy Dashboard

Uses the same Provider account connected above - no separate connection step.

First request to Corefy API (MIN)

What it does: creates a payout-invoice. The fields required depend on the payout method configured for the route (for example, email for Skrill/Neteller).

Payout - MIN

POST /api/payout-invoices

{
  "data": {
    "type": "payout-invoice",
    "attributes": {
      "reference_id": "83020cb4-79a4-4745-8c4c-782ceeced0f3",
      "service": "neteller_eur",
      "currency": "EUR",
      "amount": 10,
      "fields": {
        "email": "johndoe@gmail.com"
      }
    }
  }
}

Payout - MAX

POST /api/payout-invoices

{
  "data": {
    "type": "payout-invoice",
    "attributes": {
      "reference_id": "83020cb4-79a4-4745-8c4c-782ceeced0f3",
      "service": "neteller_eur",
      "currency": "EUR",
      "amount": 10,
      "customer": {
        "reference_id": "c9cc1602-abf9-4c68-b037-dcd807187e63",
        "name": "John Doe",
        "email": "johndoe@gmail.com",
        "phone": "1523456789",
        "address": {
          "full_address": "Kurfurstendamm 21",
          "country": "DE",
          "city": "Berlin",
          "region": "BE",
          "post_code": "10117"
        }
      },
      "fields": {
        "email": "johndoe@gmail.com"
      }
    }
  }
}

Important

  • Unlike Payments, customer.address.full_address, .post_code, and customer.phone are always sent for Payouts, regardless of payout method.
  • For recipients in the US or Canada, customer.address.region (2-letter state/province code) is required; for all other countries it's optional.

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. They are configured per route, after you add the routes you need to your connection.

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)

  • CLIENT_IP -> client IP address
  • COUNTRY -> customer.address.country (3-letter ISO code)
  • REGION -> customer.address.region
  • CITY -> customer.address.city
  • POST_CODE -> customer.address.post_code
  • FULL_ADDRESS -> customer.address.full_address
  • EMAIL -> customer.email
  • NAME -> customer.name (first part)
  • SURNAME -> customer.name (last part)
  • PHONE -> customer.phone

Btcbit does not support refunds for Payouts.


Additional info

  1. Active reconciliation is available - both Payments and Payouts support an active status request in addition to the asynchronous callback.
  2. No recurring - this connector does not support saving/charging a token through Corefy.

FAQ / Troubleshooting

  • Invalid credentials / auth error -> verify Partner ID, Secret key and Callback secret key for the selected environment (test_mode)
  • Request fails with a state/region error -> for US and Canadian customers/recipients, a 2-letter state/province code is required in customer.address.region (or the REGION Constant)
  • Payment fails for Skrill/Neteller/paysafecard specifically -> these methods require customer.address.full_address, .post_code, and customer.phone; other methods don't
  • Currency or service is not supported -> confirm allowed currencies/features in your Btcbit account and in Corefy
  • Refund fails -> Btcbit does not support refunds through Corefy

Question

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