Skip to content

Logo

MIDs

Boutique payment processing for high-risk merchants

Supports in this guide: Payments, Payouts

Provider website: mids.com


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

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

Choose account type

MIDs 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 card or local payment method payments via a hosted page, or payouts -> choose Provider account

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


Prerequisites: get from MIDs

Contact your MIDs account manager to get your account verified and receive the following credentials.

For H2H Merchant account:

  • Commerce Account -> Corefy field com_acc.
  • API Key -> Corefy field api_key.
  • Key for Callback (optional) -> Corefy field key_for_callback -> used to verify callback notifications from MIDs, if your account requires it.
  • API URL -> Corefy field api_url -> your account-specific endpoint, given by MIDs.
  • Send Metadata (optional) -> Corefy field send_metadata.

For Provider account:

  • Commerce ID -> Corefy field commerce_id.
  • API Key -> Corefy field api_key.
  • Secret Key for Callback -> Corefy field secret_key_callback.
  • API URL (optional) -> Corefy field api_url.
  • Send Metadata (optional) -> Corefy field send_metadata.

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

Connect H2H Merchant account in Corefy Dashboard

Step 1 - Open connection form

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

Step 2 - Fill in fields and select settings

  • Commerce Account
  • API Key
  • Key for Callback (optional)
  • API URL
  • Send Metadata (optional)
  • 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 MIDs 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. MIDs may return a 3D Secure challenge redirect depending on the card. CVV is required - non-CVV sales aren't supported on this flow.

Payment - MIN

POST /api/payment-invoices

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

This connector also supports EUR.

Payment - MAX

POST /api/payment-invoices

{
  "data": {
    "type": "payment-invoice",
    "attributes": {
      "reference_id": "6795502c-e27d-4d07-85e0-93245aab9a3f",
      "service": "payment_card_usd_hpp",
      "currency": "USD",
      "amount": 10,
      "customer": {
        "reference_id": "cus_123",
        "name": "John Smith",
        "email": "johnsmith@gmail.com",
        "phone": "+15551234567",
        "address": {
          "country": "US",
          "city": "New York"
        }
      }
    }
  }
}

customer is entirely optional and is only used to enrich the sale.


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 Constants are configured for this connector.


Options

  • ignore_callback -> optional, boolean - for cascading to work correctly, excludes finalizing the payment from the asynchronous callback; Corefy then relies only on an active status request (reconciliation) to finalize it.
  • save_provider_instant_token -> optional, boolean - if MIDs's response includes an instant token, Corefy stores it; confirm with your account manager whether a follow-up charge using this token is available for your account.
  • generate_random_customer_data -> optional, boolean - if enabled and customer is missing from your request, Corefy automatically fills it in with generated placeholder data instead of sending nothing.
  • transliterate_customer_data -> optional, boolean - transliterates customer fields to Latin before sending them to MIDs.
  • transliterate_card_holder -> optional, boolean - transliterates the card's embossed holder name to Latin before sending it to MIDs (independent of the customer transliteration above).
  • set_description -> optional, boolean - sends your transaction descriptor as the payment's description, instead of leaving it blank.
  • duplicate_original_resolution -> optional, boolean - if Corefy's own resolution mapping can't classify MIDs's response, falls back to reporting MIDs's original resolution code instead of leaving it blank.

Refunds

MIDs supports partial refunds, but only one refund per payment (no multiple partial refunds against the same payment) on the H2H Merchant account.


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

Connect Provider account in Corefy Dashboard

Step 1 - Open connection form

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

Step 2 - Fill in fields and select settings

  • Commerce ID
  • API Key
  • Secret Key for Callback
  • API URL (optional)
  • Send Metadata (optional)
  • Test Mode -> (enable if you are using sandbox credentials)

Success

You have connected MIDs Provider account!


First request to Corefy API (MIN)

What it does: creates a payment-invoice and redirects the customer to a MIDs-hosted page to complete the payment. MIDs supports a very wide range of local payment methods (cards, bank transfers, e-wallets, and dozens of region-specific methods across Europe, Latin America, and Asia-Pacific); the exact set available depends on what's enabled for your specific account - check with your account manager.

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"
      }
    }
  }
}

customer is entirely optional - everything is only used to prefill the hosted form, it never blocks the sale.


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 Constants are configured for this flow.


Options

  • allow_conversion -> optional, boolean - lets Corefy/MIDs automatically convert the transaction currency when the requested currency isn't directly supported, instead of rejecting the request outright.

Refunds

MIDs supports partial and multiple refunds against the same payment on the Provider account - unlike the H2H Merchant account, which only allows one refund per payment.


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 via bank transfer. MIDs supports several bank-transfer-style payout rails (generic bank transfer, SEPA, EFT, ACH); the required fields depend on the specific service/rail - check with your account manager which ones are enabled for you.

Payout - MIN (SEPA / generic bank transfer)

POST /api/payout-invoices

{
  "data": {
    "type": "payout-invoice",
    "attributes": {
      "reference_id": "0dde9e79-2c64-4703-adaf-93d710633401",
      "service": "sepa_transfer_eur",
      "currency": "EUR",
      "amount": 10,
      "fields": {
        "iban": "DE89370400440532013000",
        "first_name": "John",
        "last_name": "Smith",
        "country": "DE"
      }
    }
  }
}

Important

Field requirements depend on the payout service you use - a SEPA/bank transfer payout needs fields.iban plus recipient name/country as shown above; an ACH payout (US) instead needs fields.account_number, fields.routing_number, and fields.account_type - confirm the exact set for your chosen service with your account manager.

Payout - MAX (SEPA / generic bank transfer)

POST /api/payout-invoices

{
  "data": {
    "type": "payout-invoice",
    "attributes": {
      "reference_id": "3c6d2f8e-8a2a-4e7a-9b1a-2f6a7b9c0d1e",
      "service": "sepa_transfer_eur",
      "currency": "EUR",
      "amount": 10,
      "customer": {
        "reference_id": "cus_123",
        "name": "John Smith"
      },
      "fields": {
        "iban": "DE89370400440532013000",
        "first_name": "John",
        "last_name": "Smith",
        "country": "DE",
        "city": "Berlin",
        "street": "1 Main street"
      }
    }
  }
}

customer is entirely optional - name, when sent, is forwarded as the receiver's name.


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

  • send_description -> optional, boolean - sends a description with the payout, instead of leaving it blank.
  • allow_conversion -> optional, boolean - lets Corefy/MIDs automatically convert the payout currency when the requested currency isn't directly supported, instead of rejecting the request outright.

Additional info

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

FAQ / Troubleshooting

  • Invalid credentials / auth error -> verify the credentials for the selected account type and environment - H2H Merchant account and Provider account use entirely different credential sets
  • Refund fails with multiple attempts -> only the Provider account allows more than one refund per payment; the H2H Merchant account allows just one
  • Payout fails with a field validation error -> double-check which fields your chosen payout service (SEPA, ACH, EFT, or generic bank transfer) actually requires - they differ
  • Currency or service is not supported -> confirm allowed currencies/features in your MIDs account and in Corefy
  • Not sure which account type to use? -> H2H Merchant account is direct card only; Provider account adds the wider range of local methods and payouts

Question

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