Management API
Configuration
Shift4 Dynamic Terminal Support
9 min
overview shift4's dynamic terminal functionality allows payment facilitators to add new pos devices as part of the financial transaction flow without requiring separate device setup requests in advance the toro platform supports this feature by automatically including the required shift4 parameters during transaction processing important the toro platform does not directly interact with the shift4 immediate setup api payment facilitators must complete the sub merchant setup process through shift4's immediate setup flow before configuring dynamic terminal parameters in toro additionally, dynamic terminal functionality requires specific authorization from the shift4 team contact your shift4 solution architect to ensure your account has the necessary permissions for detailed information on the immediate setup process, refer to the https //epower credorax com/wp content/uploads/2025/10/shift4 payment facilitator immediate setup specifications v1 8 rev 3 pdf configuration dynamic terminal configuration involves setting these parameters through the management api true 50,50,74,70 unhandled content type unhandled content type unhandled content type unhandled content type unhandled content type unhandled content type unhandled content type unhandled content type unhandled content type unhandled content type unhandled content type unhandled content type 1 1 unhandled content type 1 1 unhandled content type 1 1 unhandled content type 1 1 unhandled content type note the acquirer terminal id field in toro configuration corresponds to shift4's b17 parameter (card acceptor terminal id), which is required for all card present transactions card present device code (h13) the shift4 h13 parameter (card present device code) identifies the specific make and model of the pos device this 3 digit code must be configured in the shift4 configuration, which will then be linked to pois configuration location the device code is set via the acquirer device code field in either shift4 config for standard shift4 processing shift4 amex config for american express processing via shift4 additionally, the immediate setup dynamic terminal boolean field must be set to true to enable dynamic terminal functionality this field is specific to the toro platform and controls whether the system includes the h5 and h13 parameters in transaction requests important the device code must be obtained from shift4 and corresponds to the certified device make and model if the code is padded with leading zeros to make it 3 digits (e g , '003'), include the leading zeros in the configuration configuration examples curl request post \\ \ url https //mgmt api torogateway dev/v1/configurations \\ \ header 'api key \<key>' \\ \ header 'content type application/json' \\ \ data '{ "shift4 config" { "acquirer" "shift4", "acquirer merchant id" "merchant001", "acquirer device code" "123", "acquirer terminal id" "term001", "immediate setup dynamic terminal" true, "supported card entry modes" \[ "integrated circuit card", "magnetic stripe" ], "online pin supported" true, "partial approval supported" false } }'{ "id" "cfg b07fa17ed2530939ae0f24", "account id" "acc 123", "dba name" null, "shift4 config" { "id" "acp c9acac83067c2c4f2f5fb4", "account id" "acc 123", "acquirer merchant id" "merchant001", "acquirer submerchant id" null, "acquirer terminal id" "term001", "acquirer submerchant address" null, "acquirer" "shift4", "supported card entry modes" \[ "integrated circuit card", "magnetic stripe" ], "partial approval supported" false, "online pin supported" true, "supported cvms" null, "cvms supporting pre approval" null, "nexo host message to send" null, "nexo financial capture" null, "nexo completion exchange policy" null, "nexo cancellation exchange" null, "nexo card data verification" null, "pin request supported" null, "acquirer device code" "123", "immediate setup dynamic terminal" true }, "created at" "2026 03 03t14 44 56 460215", "updated at" "2026 03 03t14 44 56 460215", "phone number" null, "shift4 amex config" null } curl request post \\ \ url https //mgmt api torogateway dev/v1/configurations \\ \ header 'api key \<key>' \\ \ header 'content type application/json' \\ \ data '{ "shift4 amex config" { "acquirer" "shift4 amex", "acquirer merchant id" "amexmerch001", "acquirer device code" "003", "acquirer terminal id" "amexterm001", "immediate setup dynamic terminal" true } }'{ "id" "cfg 46587ec203dae1b6e9ed54", "account id" "acc 123", "dba name" null, "shift4 config" null, "created at" "2026 03 03t14 57 32 039613", "updated at" "2026 03 03t14 57 32 039613", "phone number" null, "shift4 amex config" { "id" "sac 82e0105acb300620aa753a", "account id" "acc 123abc", "acquirer merchant id" "amexmerch001", "acquirer submerchant id" null, "acquirer terminal id" "amexterm001", "acquirer submerchant address" null, "acquirer" "shift4 amex", "supported card entry modes" null, "partial approval supported" null, "online pin supported" null, "supported cvms" null, "cvms supporting pre approval" null, "nexo host message to send" null, "nexo financial capture" null, "nexo completion exchange policy" null, "nexo cancellation exchange" null, "nexo card data verification" null, "pin request supported" null, "acquirer device code" "003", "immediate setup dynamic terminal" true } } pos device address configuration (h5) the shift4 h5 parameter (pos device address) is configured through the poi (point of interaction) location settings and linked to the configuration created above configuration methods you can specify the device location using either approach direct location object provide address details directly in the poi create/update request location reference reference an existing address using location id note do not provide both location and location id in the same request use only one method curl request post \\ \ url https //mgmt api torogateway dev/v1/pois \\ \ header 'api key \<key>' \\ \ header 'content type application/json' \\ \ data '{ "merchant id" "merchant 123", "is active" true, "manufacturer id" "device 12345", "label id" "pos 001", "model" "miura m20", "location" { "line 1" "123 high street", "postal code" "sw1a 1aa", "city" "london", "country code" "gbr" }, "configuration id" "cfg b07fa17ed2530939ae0f24" }'{ "id" "poi 21ae850d0d1047c86377e9", "account id" "acc 123", "manufacturer id" "device 12345", "label id" "pos 001", "location id" "adr 7f71db885a6e748c96f284", "model" "miura m20", "merchant id" "merchant 123", "is active" true, "poi group id" null, "configuration id" "cfg b07fa17ed2530939ae0f24", "created at" "2026 03 03t16 00 31 412145", "updated at" "2026 03 03t16 00 31 412145", "location" { "id" "adr 7f71db885a6e748c96f284", "account id" "acc 123abc", "line 1" "123 high street", "line 2" null, "line 3" null, "city" "london", "district" null, "postal code" "sw1a 1aa", "country code" "gbr", "formatted address" null, "latitude" null, "longitude" null, "created at" "2026 03 03t16 00 31 412145", "updated at" "2026 03 03t16 00 31 412145", "region" null, "country name" null } } summary once the configuration and poi setup is complete, the toro platform will automatically include the required shift4 dynamic terminal parameters ( h5 and h13 ) in transaction requests when immediate setup dynamic terminal is enabled this allows new pos devices to be processed without requiring separate device setup requests to shift4
