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)
- Get your credentials (from EMS)
- Connect in Dashboard
- 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
customerfield is missing, it's simply not sent, exceptcustomer.emailandcustomer.phone, which fall back to fixed placeholder values (john@example.com/19999999999) when missing, andcustomer.addressdetails, 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,RUBare available - Error result looks too generic -> enable
custom_finalization_logicto 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!