Skip to content

EMS (European Merchant Services)

Note

OFT lists this provider under its full operating name, "European Merchant Services"; the connection itself is commonly referred to as "EMS", which is also this doc's ems slug.

Supports in this guide: Payments

Note

No public website for this provider could be independently verified - OFT does not list one for this connector.


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

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

Prerequisites: get from EMS

Contact your EMS account manager to get your account verified and receive the following credentials from the Security settings in the Merchant Control Panel.

  • Company number -> Corefy field company_num.
  • Merchant hash -> Corefy field merchant_hash.

Note

If you need to whitelist IPs on EMS's side, ask your account manager and provide Corefy's IP list from the integration docs.

USD, EUR, UAH, GBP, RUB.


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

Connect H2H Merchant account in Corefy Dashboard

Step 1 - Open connection form

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

Step 2 - Fill in fields and select settings

  • Company number
  • Merchant hash
  • Test Mode -> (enable if you are using sandbox credentials)
  • Currency / Features -> choose values available for your account (USD, EUR, UAH, GBP, RUB)

Success

You have connected EMS 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": "1a2b3c4d-5e6f-4a7b-8c91-2d3e4f5a6b7c",
      "service": "payment_card_eur_hpp",
      "currency": "EUR",
      "amount": 10
    }
  }
}

Payment - MAX

POST /api/payment-invoices

{
  "data": {
    "type": "payment-invoice",
    "attributes": {
      "reference_id": "2b3c4d5e-6f7a-4b8c-8d02-3e4f5a6b7c8d",
      "service": "payment_card_eur_hpp",
      "currency": "EUR",
      "amount": 10,
      "customer": {
        "reference_id": "cus_123",
        "email": "customer@example.com",
        "phone": "+15551234567",
        "address": {
          "street": "Main street 1",
          "city": "Berlin",
          "post_code": "10115",
          "region": "Berlin",
          "country": "DE"
        }
      }
    }
  }
}

Important

  • No Constants are configured for this connector - if a customer field is missing, it's simply not sent, except customer.email and customer.phone, which fall back to fixed placeholder values (john@example.com / 19999999999) when missing, and customer.address details, which fall back to a fixed placeholder street address when missing.
  • EMS may return a 3D Secure challenge redirect depending on the card.

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

  • custom_finalization_logic -> optional, boolean - by default, a "country blocked" or "general error" result from EMS is always finalized as a generic error; enabling this option instead maps it to its normal, more specific resolution.

Refunds

EMS does not support refunds.

Recurring

EMS supports saving and charging a card token through Corefy (standard tokenize/token-charge flow).


FAQ / Troubleshooting

  • Invalid credentials / auth error -> verify Company number and Merchant hash for the selected environment (test_mode)
  • Currency or service is not supported -> confirm allowed currencies/features in your EMS account and in Corefy - only USD, EUR, UAH, GBP, RUB are available
  • Error result looks too generic -> enable custom_finalization_logic to get a more specific resolution for "country blocked"/"general error" results

Question

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