Skip to content

Logo

CCBill

Supports in this guide: Payments

Provider website: ccbill.com


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

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

Choose account type

CCBill 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're not sure which one to use, confirm with your Corefy account manager.


Prerequisites: get from CCBill

Get the following values for your CCBill project/account:

  • Username -> Corefy field username -> example: ccb_user_01 -> where to find: CCBill backoffice / issued by CCBill manager
  • Password -> Corefy field password -> example: ******** -> where to find: CCBill backoffice / issued by CCBill manager
  • Merchant Account Number -> Corefy field merchant_account_number -> example: 900000 -> where to find: CCBill backoffice / issued by CCBill manager
  • Merchant Subaccount Number -> Corefy field merchant_subaccount_number -> used for the initial 3D Secure authentication step of a sale -> where to find: CCBill backoffice / issued by CCBill manager
  • Merchant Subaccount Number (charge token) -> Corefy field merchant_subaccount_number_charge_token -> optional; a separate subaccount used specifically for charging a previously saved payment token -> where to find: CCBill backoffice / issued by CCBill manager
  • Merchant Application ID (Frontend) -> Corefy field merchant_application_id_frontend -> paired with Merchant Secret Key (Frontend) to authenticate the customer-facing (3DS authentication) API calls -> where to find: CCBill backoffice / issued by CCBill manager
  • Merchant Secret Key (Frontend) -> Corefy field merchant_secret_key_frontend -> where to find: CCBill backoffice / issued by CCBill manager
  • Merchant Application ID (Backend) -> Corefy field merchant_application_id_backend -> paired with Merchant Secret Key (Backend) to authenticate server-to-server API calls (finalizing a sale, refunds, reconciliation) -> where to find: CCBill backoffice / issued by CCBill manager
  • Merchant Secret Key (Backend) -> Corefy field merchant_secret_key_backend -> where to find: CCBill backoffice / issued by CCBill manager

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

Connect H2H Merchant account in Corefy Dashboard

Step 1 - Open connection form

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

Step 2 - Fill in fields and select settings

  • Username
  • Password
  • Merchant Account Number
  • Merchant Subaccount Number
  • Merchant Subaccount Number (charge token) (optional)
  • Merchant Application ID (Frontend)
  • Merchant Secret Key (Frontend)
  • Merchant Application ID (Backend)
  • Merchant Secret Key (Backend)

Choose Currency and Features. You can set these parameters according to available currencies and features for your CCBill account, but it is necessary to check details of the connection with your Corefy account manager.

Success

You have connected CCBill 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. CCBill runs a two-step 3D Secure flow - the initial sale can come back pending a completion step, which Corefy handles automatically.

Payment - MIN

POST /api/payment-invoices

{
  "data": {
    "type": "payment-invoice",
    "attributes": {
      "reference_id": "8afec793-9b41-4dc4-b281-c76cc54ffb89",
      "service": "payment_card_usd_hpp",
      "currency": "USD",
      "amount": 10
    }
  }
}

Payment - MAX

POST /api/payment-invoices

{
  "data": {
    "type": "payment-invoice",
    "attributes": {
      "reference_id": "06fa1ea9-8a5b-4dbc-b67b-6236b3b9af3d",
      "service": "payment_card_usd_hpp",
      "currency": "USD",
      "amount": 10.04,
      "customer": {
        "reference_id": "cus_123",
        "name": "John Smith",
        "email": "johnsmith@gmail.com",
        "phone": "+15551234567",
        "address": {
          "country": "US",
          "city": "Tempe",
          "region": "AZ",
          "full_address": "1 Main street",
          "post_code": "85281"
        }
      }
    }
  }
}

customer is entirely optional - anything you don't send falls back to the Constants below, or is simply left blank on CCBill'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

Options are configured on the Corefy side and affect how Corefy builds provider requests or processes responses.

Currently available options (2)

  • ip_option - controls how the customer's IP address is prepared before it's sent to CCBill.
  • use_sca_required_function - controls whether Corefy first checks with CCBill if 3D Secure/SCA is actually required before running the 3DS challenge.
ip_option

What it does: selects how the customer's IP address is handled before being sent to CCBill - either validated as IPv4 only, or converted from IPv6 to IPv4.

When to use: use convert_ipv6_to_ipv4 if your traffic includes IPv6 addresses and CCBill needs an IPv4-formatted value; use allow_only_ipv4 to reject the request when a non-IPv4 address is supplied.

Default: not set (no IP handling applied).

Allowed values: allow_only_ipv4, convert_ipv6_to_ipv4

use_sca_required_function

What it does: before completing the transaction, asks CCBill whether 3DS/SCA is actually required; if CCBill reports it isn't and non-3DS is supported for the transaction, Corefy completes the sale without a 3DS challenge.

When to use: enable it to skip an unnecessary 3DS challenge when CCBill itself reports it isn't required.

Default: false

Allowed values: true, false


Constants (fallback fields)

Constants are static values that Corefy can send to CCBill 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
  • COUNTRY -> customer.address.country
  • CITY -> customer.address.city
  • STATE -> customer.address.region
  • FULL_ADDRESS -> customer.address.full_address
  • POST_CODE -> customer.address.post_code (used when starting the 3D Secure authentication step)
  • ZIP_CODE -> customer.address.post_code (used when finalizing the sale, after 3DS)
  • PHONE -> customer.phone
  • FIRST_NAME / LAST_NAME -> parsed from customer.name (split on the first space) - used only when finalizing the sale, if neither the card data nor customer.name supplies a cardholder name

Refunds

This connector supports refunds: partial refunds are allowed, but only one refund per payment (multiple/split refunds are not supported). The original transaction ID is required to process a refund.


Additional info

  1. Recurring is supported - save a token on an initial sale, then charge it later through Corefy using the separate Merchant Subaccount Number (charge token) credential.

FAQ / Troubleshooting

  • Invalid credentials / auth error -> verify your Frontend and Backend Application ID / Secret Key pairs for the selected environment
  • Currency or service is not supported -> confirm allowed currencies/features in your CCBill account and in Corefy
  • Missing customer data fields -> set constants (see "Constants") or provide fields in the API request
  • Not sure which account type to use? -> ask your Corefy account manager

Question

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