Skip to content

Logo

D8Corporation

We enable your digital payment services. D8 Corporation helps you bring your services to market quickly and at scale.

Website: www.d8corporation.com

Set up Merchant Account

Step 1: Create Merchant Account

To create an account send connection request to D8 contact manager. Submit the required documents to verify your account and gain access.

Step 2: Get required credentials

Credentials that have to be issued:

Question

"Having issues with your credentials?" Please contact our support team!

Connect Provider Account

Step 1. Connect provider account at the Corefy Dashboard

Press Connect at D8 Provider Overview page in 'New connection' section and press Connect button to open Connection form.

Connect

Enter credentials:

Success

You have connected D8 provider account!

API examples:

Min/max data set to create a payout invoice for payment_card_uah service

PAYOUT

POST /api/payout-invoices HTTP/1.1
{
  "data": {
    "type": "payout-invoice",
    "attributes": {
      "service": "payment_card_uah",
      "currency": "UAH",
      "amount": 100,
      "test_mode": true,
      "fields": {
        "card_number": "5122********0027"
      }
    }
  }
}

Constants for payouts

Сonstants

If some parameters are not sent in the transaction creation request, they will take the values from the set constants.

Here is a list of constants with their corresponding parameters:

  • FUNDING SOURCE → fundingSource (Money Transfer funding source, AN..2; default CC)
  • BUSINESS APP ID → businessAppId (Money Transfer Business Application Identifier, AN..3; default GPO)
  • LANGUAGE → language (ISO 639-1 two-letter language code; default en)
  • DETAIL → detail (payment description; falls back to the request description, then to the operation id)
  • CLIENT IP → clientIp (client IPv4/IPv6; falls back to the request user IP)
  • SENDER ACCOUNT NUMBER → srcAccNum (sender account number)
  • SENDER ACCOUNT TYPE → srcAccType (sender account type, 0–8)
  • SENDER FIRST NAME → chFirstName (sender first name)
  • SENDER LAST NAME → chLastName (sender last name)
  • SENDER EMAIL → chMail (sender email)
  • SENDER PHONE → chPhoneNum (sender phone number)
  • SENDER PHONE CC → chPhonceCc (sender phone country code)
  • SENDER ID TYPE → senderIdType (sender ID type: CP — company, PS — passport, TX — tax; sent in the postAdditionalData step when the provider requires it)
  • SENDER ID → senderId (sender identification number; sent in the postAdditionalData step when the provider requires it)
  • BILLING COUNTRY → baddrCountry (cardholder billing country, numeric ISO 3166-1, e.g. 804; falls back from the customer address)
  • BILLING CITY → baddrCity (cardholder billing city; falls back from the customer address)
  • BILLING ZIP → baddrZip (cardholder billing ZIP code; falls back from the customer address)
  • BILLING ADDRESS LINE 1 → baddrline1 (cardholder billing address; falls back from the customer address)

H2H Merchant account (Payments)

Prerequisites: get from D8

Get the following values for your D8 H2H account:

  • Merchant ID -> Corefy field merchant_id -> where to find: issued by your D8 manager
  • Terminal ID -> Corefy field terminal_id -> where to find: issued by your D8 manager
  • CA Certificate -> Corefy field ca_cert -> format: upload a certificate file -> where to find: issued by your D8 manager
  • CA Certificate Key (optional) -> Corefy field ca_cert_key -> format: upload a private key file -> where to find: issued by your D8 manager
  • API type (optional) -> Corefy field api_type -> card_payment (default) or c2a (card-to-account) -> confirm with your D8 manager which one applies to your terminal

Optional, only if you use cardholder verification (see the card_vs_itn_verification_bins option below):

  • Verification user -> Corefy field verification_user
  • Verification password -> Corefy field verification_password
  • Verification API URL -> Corefy field verification_api_url

Optional, only if you use Cybersource network tokenization:

  • Cybersource key -> Corefy field cb_key
  • Cybersource shared secret -> Corefy field cb_shared_secret
  • Tokenization organization ID -> Corefy field tokenize_org_id
  • Tokenization MLE key ID -> Corefy field tokenize_mle_key_id
  • Tokenization MLE private key -> Corefy field tokenize_mle_private_key -> format: upload a private key file

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

Connect H2H Merchant account in Corefy Dashboard

Step 1 - Open connection form

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

Step 2 - Fill in fields and select settings

  • Merchant ID -> merchant_id
  • Terminal ID -> terminal_id
  • CA Certificate -> ca_cert (upload file)
  • CA Certificate Key -> ca_cert_key (optional, upload file)
  • API type -> api_type (optional): card_payment (default) or c2a
  • Test mode -> test_mode: enable to send requests to the D8 test environment
  • Verification user / password / API URL -> verification_user / verification_password / verification_api_url (optional)
  • Cybersource key / shared secret -> cb_key / cb_shared_secret (optional)
  • Tokenization organization ID / MLE key ID / MLE private key -> tokenize_org_id / tokenize_mle_key_id / tokenize_mle_private_key (optional)
  • Use Cybersource tokenization -> use_cybersource_tokenization (optional): enable to tokenize the card via Cybersource before sending it to D8
  • Currency / Features -> choose values available for your account (D8 supports UAH)

Success

You have connected D8 H2H Merchant account!


First request to Corefy API (MIN)

What it does: creates a payment-invoice.

Payment - MIN

POST /api/payment-invoices

{
  "data": {
    "type": "payment-invoice",
    "attributes": {
      "reference_id": "9c005348-0bd2-4e7f-aa64-b50d0660c01d",
      "service": "payment_card_uah_hpp",
      "currency": "UAH",
      "amount": 100
    }
  }
}

Payment - MAX

POST /api/payment-invoices

{
  "data": {
    "type": "payment-invoice",
    "attributes": {
      "reference_id": "06fa1ea9-8a5b-4dbc-b67b-6236b3b9af3d",
      "service": "payment_card_uah_hpp",
      "currency": "UAH",
      "amount": 100,
      "description": "Order #12345",
      "customer": {
        "reference_id": "33cc9165-6ab2-4cee-8d9a-10f05cddbb5a",
        "name": "John Doe",
        "individual_tax_id": "1234567890"
      }
    }
  }
}

customer.individual_tax_id (or customer.passport_series + customer.passport_number instead) is sent to D8 as the sender ID. When the card_vs_itn_verification_bins option is set and the card BIN matches, Corefy's own connector requires one of these values and declines the payment without calling D8 if none is provided.


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)

  • card_vs_itn_verification_bins - list of card BINs for which the cardholder is verified against the customer's tax ID/passport before the payment
  • wait_final_status - waits for the final payment status in the same request for non-3DS payments
card_vs_itn_verification_bins

What it does: for cards whose first 6 or 8 digits match one of the listed BINs, Corefy checks via the D8 verification API (verification_* credentials) that the customer (customer.individual_tax_id or passport) is the card owner. If the check fails, the payment is declined before it is sent to D8.

When to use: when D8 or your compliance requirements call for cardholder verification on specific card ranges.

Default: not set (no verification)

Allowed values: list of 6- or 8-digit BINs

wait_final_status

What it does: for non-3DS payments, after the payment is submitted to D8, Corefy checks the payment status several times (up to 5 checks, about 2 seconds apart) and returns the final status in the response instead of a pending one. When the customer returns to the merchant site, Corefy also requests the payment status from D8 and returns the final result if it is available.

When to use: when you use cascading from a non-3DS D8 terminal to another terminal (for example, a 3DS one). With the option enabled, a decline on the non-3DS terminal (for example, limit_violation) is known right away, so the cascaded payment and its 3DS redirect link (auth_payload.action) can be returned in the response to your payment request.

Default: false

Allowed values: true / false

Note

If you are not sure which value to select, please contact our support team!


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.

After the successful connection, fill in constants for necessary routes in editing menu.

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 -> D8 parameter)

  • LANGUAGE -> language (2-letter language code; used when the customer's browser language is not available)
  • LEGAL_ENTITY_ID -> recipientId (used when the legal entity identifier is not set in your merchant profile)

Used only when API type is c2a:

  • ACCOUNT_NUMBER -> dstAccNum (recipient account number)
  • ACCOUNT_TYPE -> dstAccType (recipient account type, number)
  • DST_FIRST_NAME -> dstFname (recipient first name)
  • DST_LAST_NAME -> dstLname (recipient last name)
  • FOUNDING_SOURCE -> fundingSource (one of CC, CH, DA, CA, MC)
  • BUSINESS_APPLICATION_ID -> businessAppId (one of OGG, GPO, TPP, TAA, TAC, TCB, TBD, TGD, TMS, TCA, TCC, TBB, TBI, TFT, TWT)

Additional info

  1. D8 does not send callbacks to Corefy for H2H payments: payment statuses are updated by status requests (reconciliation).
  2. Refunds are supported for the full amount only (no partial or multiple refunds).
  3. D8 supports Apple Pay and Google Pay with decryption on the Corefy side.

    For more information, visit:


FAQ / Troubleshooting

  • Invalid credentials / auth error -> verify the certificate, key and IDs for the selected environment (test_mode)
  • Currency or service is not supported -> confirm allowed currencies/features in your D8 account and in Corefy
  • Payment declined with invalid cardholder -> the card BIN is listed in card_vs_itn_verification_bins; send customer.individual_tax_id (or passport data) of the card owner
  • Not sure which account type to use? -> ask your Corefy account manager

Question

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