Skip to content

Logo

btGATE

Your pilot to internet payments solutions

Supports in this guide: Payments, Payouts

Provider website: btgate.net


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

  1. Choose account type
  2. Get your credentials (from btGATE)
  3. Connect in Dashboard
  4. Send an API request

Choose account type

btGATE 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 Apple Pay / Google Pay payments, or payouts -> choose Provider account

If you're not sure which one to use, confirm with your Corefy account manager.


Prerequisites: get from btGATE

Submit a connection request at btgate.net or contact your btGATE account manager directly, and submit the required documents to get your account verified.

For H2H Merchant account and Provider account alike:

  • Terminal ID -> Corefy field terminal_id.
  • Secret Key -> Corefy field secret_key -> used to sign every request.

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

Connect H2H Merchant account in Corefy Dashboard

Step 1 - Open connection form

Open btGATE in the provider directory and press Connect at btGATE Provider Overview page in the New connection section. Choose H2H Merchant account.

Step 2 - Fill in fields and select settings

  • Terminal ID
  • Secret Key
  • API Version (optional) -> choose V1 (default) or V2 - V2 additionally sends browser/device fingerprint data for 3D Secure and supports the transaction_lifetime_in_minutes Option below; ask your account manager which one your account is set up for.
  • Test Mode -> (enable if you are using sandbox credentials)

Choose Currency / Features; check with your Corefy account manager which are enabled for your account.

Success

You have connected btGATE 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_eur_hpp",
      "currency": "EUR",
      "amount": 10
    }
  }
}

Payment - MAX

POST /api/payment-invoices

{
  "data": {
    "type": "payment-invoice",
    "attributes": {
      "reference_id": "6795502c-e27d-4d07-85e0-93245aab9a3f",
      "service": "payment_card_eur_hpp",
      "currency": "EUR",
      "amount": 10,
      "customer": {
        "reference_id": "cus_123",
        "name": "John Smith",
        "email": "johnsmith@gmail.com",
        "phone": "+15551234567",
        "address": {
          "country": "FR",
          "region": "Ile-de-France",
          "city": "Paris",
          "full_address": "1 Main street",
          "post_code": "75000"
        }
      }
    }
  }
}

customer is entirely optional - anything you don't send falls back to the Constants below, or is simply left blank on btGATE's side.


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

  • transaction_lifetime_in_minutes -> optional, number (minimum 1) - how long the checkout session stays valid before expiring. Only takes effect when API Version is set to V2.

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
  • PHONE -> customer.phone
  • COUNTRY -> customer.address.country
  • CITY -> customer.address.city
  • FULL_ADDRESS -> customer.address.full_address
  • REGION -> customer.address.region
  • POST_CODE -> customer.address.post_code
  • LANG -> checkout page language

Refunds

btGATE supports partial and multiple refunds against the same payment.

Important

btGATE does not allow refunding a payment within the first 25 hours after it was processed. Calling refund on a payment younger than that doesn't error - Corefy reports it as pending and completes it automatically once the 25-hour window has passed.


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

Connect Provider account in Corefy Dashboard

Step 1 - Open connection form

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

Step 2 - Fill in fields and select settings

  • Terminal ID
  • Secret Key
  • Test Mode -> (enable if you are using sandbox credentials)

Success

You have connected btGATE Provider account!


First request to Corefy API (MIN)

What it does: creates a payment-invoice and redirects the customer to a hosted page to complete the purchase with Apple Pay or Google Pay.

Payment - MIN

POST /api/payment-invoices

{
  "data": {
    "type": "payment-invoice",
    "attributes": {
      "reference_id": "8e3dbbb0-17af-4c9a-bedb-93bdac6900a2",
      "service": "applepay_eur_hpp",
      "currency": "EUR",
      "amount": 10
    }
  }
}

This connector also supports googlepay_eur_hpp, and both methods in USD (applepay_usd_hpp, googlepay_usd_hpp).

Payment - MAX

POST /api/payment-invoices

{
  "data": {
    "type": "payment-invoice",
    "attributes": {
      "reference_id": "6795502c-e27d-4d07-85e0-93245aab9a3f",
      "service": "applepay_eur_hpp",
      "currency": "EUR",
      "amount": 10,
      "customer": {
        "reference_id": "cus_123",
        "name": "John Smith",
        "email": "johnsmith@gmail.com",
        "phone": "+15551234567",
        "address": {
          "country": "FR",
          "region": "Ile-de-France",
          "city": "Paris",
          "full_address": "1 Main street",
          "post_code": "75000"
        }
      }
    }
  }
}

customer is entirely optional - anything you don't send falls back to the Constants below.


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

No Options are configured for this flow.


Constants (fallback fields)

Configured per service (applepay_<ccy>_hpp, googlepay_<ccy>_hpp).

Currently available constants (constant -> Corefy API field)

  • FIRST_NAME -> customer.name (first part)
  • LAST_NAME -> customer.name (second part)
  • EMAIL -> customer.email
  • PHONE -> customer.phone
  • COUNTRY -> customer.address.country
  • CITY -> customer.address.city
  • FULL_ADDRESS -> customer.address.full_address
  • REGION -> customer.address.region
  • POST_CODE -> customer.address.post_code
  • LANG -> checkout page language

Refunds

This flow also supports refunds - the same 25-hour delay noted under the H2H Merchant account above applies here too.


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, nothing extra to fill in for payouts specifically.


First request to Corefy API (MIN)

What it does: creates a payout-invoice and sends funds directly to a card.

Payout - MIN

POST /api/payout-invoices

{
  "data": {
    "type": "payout-invoice",
    "attributes": {
      "reference_id": "0dde9e79-2c64-4703-adaf-93d710633401",
      "service": "payment_card_eur",
      "currency": "EUR",
      "amount": 10,
      "fields": {
        "card_number": "4111111111111111"
      }
    }
  }
}

Important

fields.card_number is required. This connector also supports card payouts in USD (use payment_card_usd as the service code).

Payout - MAX

POST /api/payout-invoices

{
  "data": {
    "type": "payout-invoice",
    "attributes": {
      "reference_id": "3c6d2f8e-8a2a-4e7a-9b1a-2f6a7b9c0d1e",
      "service": "payment_card_eur",
      "currency": "EUR",
      "amount": 10,
      "customer": {
        "reference_id": "cus_123",
        "name": "John Smith",
        "email": "johnsmith@gmail.com",
        "phone": "+15551234567",
        "address": {
          "country": "FR",
          "region": "Ile-de-France",
          "city": "Paris",
          "full_address": "1 Main street",
          "post_code": "75000"
        },
        "metadata": {
          "ipAddress": "203.0.113.5"
        }
      },
      "fields": {
        "card_number": "4111111111111111"
      }
    }
  }
}

customer is entirely optional - everything is only forwarded to btGATE as recipient/billing details.


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

  • finalize_payout_for_too_many_requests -> optional, boolean - by default, if btGATE responds with a "too many requests" error, Corefy treats the payout as still pending and keeps reconciling it rather than failing it. Enable this to have Corefy finalize it as failed immediately instead.

No Constants are configured for this flow.


Additional info

  1. Callback routing is automatic - Corefy generates the callback/return URLs per transaction, nothing to configure in btGATE's own back-office.

FAQ / Troubleshooting

  • Invalid credentials / auth error -> verify Terminal ID/Secret Key for the selected environment and account type
  • Refund stuck as pending -> btGATE doesn't allow refunding a payment younger than 25 hours - see the important note under Payments (H2H) above; it completes automatically once the window passes
  • Currency or service is not supported -> confirm allowed currencies/features in your btGATE account and in Corefy

Question

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