Skip to content

Logo

Shift4 EU

Experience the future of commerce

Supports in this guide: Payments

Provider website: shift4.com


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

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

Prerequisites: get from Shift4

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

  • Merchant ID -> Corefy field merchant_id.
  • Secret Key -> Corefy field secret_key -> used to authenticate every request.
  • Save Instant Token (optional) -> Corefy field save_instant_token -> enable to allow recurring charges (see Recurring below).

Note

This is a separate connection from the Shiftfour connector already available in Corefy - that one integrates against Shift4's older i4Go/REST API gateway, while this connector (listed as Shift4 EU) uses Shift4's newer unified API. Confirm with your account manager which one applies to your account.


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

Connect H2H Merchant account in Corefy Dashboard

Step 1 - Open connection form

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

Step 2 - Fill in fields and select settings

  • Merchant ID
  • Secret Key
  • Save Instant Token (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 Shift4 EU 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. Shift4 supports full 3D Secure 2 - depending on the card and your account's liability-shift settings (see Options below), Shift4 may return a 3D Secure challenge redirect.

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

This connector also supports USD, JPY, GBP.

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",
        "email": "johnsmith@gmail.com"
      }
    }
  }
}

customer is normally optional, with one exception - see the important note below.

Important

If Save Instant Token is enabled on your connection, customer.email becomes required on every sale - the sale is rejected outright ("Customer email is required for token payment") if it's missing, since Shift4 needs it to register the saved 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

No Constants are configured for this connector.


Options

  • stored_credential_mode -> optional, enum (none / recurring / unscheduled) - tells Shift4 what kind of stored-credential charge this is, per card network compliance rules: recurring for subscription-style recurring charges, unscheduled for customer- or merchant-initiated charges on file that don't follow a fixed schedule. Used together with Save Instant Token.
  • charge_on_bypassed_liability_shift -> optional, boolean - after a 3D Secure challenge, allows the charge to proceed even when Shift4 reports the liability shift as "bypassed" (3DS wasn't actually performed), instead of declining it.
  • charge_on_not_possible_liability_shift -> optional, boolean - allows the charge to proceed when Shift4 reports that a liability shift wasn't possible for this card, instead of declining it.
  • charge_on_failed_liability_shift -> optional, boolean - allows the charge to proceed even when the 3D Secure liability shift itself failed, instead of declining it.

Note

By default (all three disabled), only a card with a successful liability shift is charged - anything else (bypassed, not possible, or failed) is declined for your protection against chargeback liability. Enable these options only if you understand and accept the added fraud/chargeback risk.


Recurring (save and charge a token)

If Save Instant Token is enabled on your connection, this connector registers the customer's card with Shift4 on the first sale (requires customer.email, see above) and lets you charge that saved card again later via Corefy's standard recurring request, without resubmitting full card data.


Refunds

Shift4 supports partial refunds, but only one refund per payment (no multiple partial refunds against the same payment).


Additional info

  1. Callback routing is automatic - Corefy generates the callback/return URLs per transaction, nothing to configure in Shift4's own back-office.
  2. No payouts - this connector does not support payouts through Corefy.

FAQ / Troubleshooting

  • Sale fails with "Customer email is required for token payment" -> enable this only when you also send customer.email, or disable Save Instant Token if you don't need recurring
  • Sale is declined right after a 3D Secure challenge -> check whether the liability shift result was bypassed, not possible, or failed - by default only a successful liability shift is charged; the charge_on_*_liability_shift options can relax this at your own chargeback risk
  • Invalid credentials / auth error -> verify Merchant ID/Secret Key for the selected environment
  • Refund fails with multiple attempts -> only one refund per payment is supported
  • Currency or service is not supported -> confirm allowed currencies/features in your Shift4 account and in Corefy
  • Not sure if this is the right Shift4 connector? -> this one (Shift4 EU) uses Shift4's modern unified API; the separate Shiftfour connector in Corefy uses the older i4Go/REST API gateway - confirm with your account manager

Question

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