Skip to main content

SCA Functional Specification

Multi Merchant Support

Last updated: 09-Oct-2025
  

Note

This feature is supported for only Customers using VSD (ADE) encryption with Verifone gateway.

In some merchant environments, it is required to support device sharing across multiple processor Merchant IDs (MIDs).
To support that merchant environments, Multiple Merchant feature has been introduced where a single payment device is used to process transactions of multiple merchants within the same business environment, each with distinct business identities, credentials, and settlement configurations with providers bank account.

SCA enables multi-merchant support through seamless integration with gateway, allowing transactions initiating from the same physical POS device to be routed to different Merchant IDs (MIDs) or Terminal IDs (TIDs) combinations. This is predominantly useful in shared retail environments or franchise locations where multiple businesses operate from a common device.
To support this feature, SCA’s administrative functionality has been enhanced to allow the configuration and management of multiple merchant profiles within a single device. Each merchant profile will be assigned an account number, a device name (optional) and a multi merchant PIN.

Set Up

For the Multi Merchant setup implementation, the device must be enabled for Multi Merchant support on the PWC Gateway, and the same device must be boarded under multiple Merchant IDs on the Gateway.
During the initial sync up process with PWC, SCA Application retrieves all the relevant account and Merchant ID information.
For each account, PWC provides the following details:

  • MMACCOUNT
  • TERMINAL NAME
  • MMPIN

The application then performs individual device registration for each account.

Payment Process

Once the application setup is complete for Multi Merchant support, the POS can specify the target account by sending either MMACCOUNT or MMACCOUNT_NAME (Terminal Name received from PWC gateway) as part of the <MMACCOUNT> field in the payment request.

Optionally, the POS may also send MMPIN along with MMACCOUNT. On that scenario, the application will validate the MMPIN against the value configured on the Gateway. If the value does not match, then the application will return a PIN Mismatch Error to the POS. Refer to Relevant Error Messages for error codes detail.

This routing capability is supported across all payment commands, including Card Validation, Auth, Capture, Credit, Void, EBT Balance Enquiry, Gift, Token Query, Schedule Settlement, all Reports commands and SAF Query response.

Fallback Behavior: If the POS does not send the <MMACCOUNT> field for Multi Merchant device, the application checks for a configured DEFAULTMERCHANTACCOUNT parameter. If this parameter is set, its value (account) is used to route the transaction. If the parameter is not configured, the application returns a Field Required Error to the POS.

Standalone Device Behavior: For standalone devices configured for Multi Merchant support, the application will prompt the user to select an account when a command is initiated. Here, PIN validation is mandatory for account selection.

  

Note

Once the setup is complete and multiple merchant accounts are registered, only the first registered merchant account will be used for running the Test Sale.

  

Note

Multi-merchant feature is applicable to all Payment commands those are using Host request. Refer to the command request section for more details on the field descriptions.

Assumptions

The following assumptions outline the conditions, which required to be considered during the execution of this feature.

  • EMV configuration, Tender type configuration, CDT configuration and all similar settings must not be different among the merchants sharing this SCA application instance.
  • If Debit is enabled, then all merchants must use the same DUKPT debit key.
  • Verifone P2PE Encryption is required to be utilized for encryption and this is the only supported cardholder data encryption mechanism which will be supported with Muti Merchant functionality.
  • The following encryption methods will be blocked and cannot be configured using Multi Merchant functionality:
    • VSP
    • FISERV TAVE Encryption
  • Canadian Interac will be blocked from using Multi Merchant functionality.

Sample Request and Response

Request

Following is an example of request packet

<TRANSACTION>
        <FUNCTION_TYPE>PAYMENT</FUNCTION_TYPE>
        <COMMAND>CAPTURE</COMMAND>
        <TRANS_AMOUNT>1.00</TRANS_AMOUNT>
        <MMACCOUNT>1234</MMACCOUNT>
        <MMPIN>123456</MMPIN>
        <MANUAL_ENTRY>FALSE</MANUAL_ENTRY>
        <FORCE_FLAG>FALSE</FORCE_FLAG>
</TRANSACTION>
Response

Following is an example of response packet

<RESPONSE>
        <ACCT_NUM>476173******0011</ACCT_NUM>
        <COMMAND>CAPTURE</COMMAND>
        <APPROVED_AMOUNT>1.00</APPROVED_AMOUNT>
        <AUTH_CODE>32427A</AUTH_CODE>
        <AUTH_RESP_CODE>91</AUTH_RESP_CODE>
        <BANK_USERDATA>VISA</BANK_USERDATA>
        <BATCH_TRACE_ID>a1a3beb1-52c4-4ebd-88a8-1f347a02d513</BATCH_TRACE_ID>
        <CARD_ABBRV>VI</CARD_ABBRV>
        <CARD_ENTRY_MODE>Contactless</CARD_ENTRY_MODE>
        <CARD_EXP_MONTH>12</CARD_EXP_MONTH>
        <CARD_EXP_YEAR>31</CARD_EXP_YEAR>
        <CARD_TOKEN>4761735440810011</CARD_TOKEN>
        <CTROUTD>9438</CTROUTD>
        <INVOICE>000681</INVOICE>
        <DCC_IND>2</DCC_IND>
        <DIFF_AMOUNT_DUE>0.00</DIFF_AMOUNT_DUE>
        <INTRN_SEQ_NUM>4026910903</INTRN_SEQ_NUM>
        <MERCHID>000024885939</MERCHID>
        <ORIG_TRANS_AMOUNT>1.00</ORIG_TRANS_AMOUNT>
        <PAYMENT_MEDIA>VISA</PAYMENT_MEDIA>
        <PAYMENT_TYPE>CREDIT</PAYMENT_TYPE>
        <PAR>V0010013820179861073690933044</PAR>
        <REFERENCE>50100001</REFERENCE>
        <RESPONSE_CODE>91</RESPONSE_CODE>
        <RESPONSE_TEXT>CAPTURED</RESPONSE_TEXT>
        <RESULT>CAPTURED</RESULT>
        <RESULT_CODE>4</RESULT_CODE>
        <TERMID>002</TERMID>
        <TERMINATION_STATUS>SUCCESS</TERMINATION_STATUS>
        <TOKEN_SOURCE>TA</TOKEN_SOURCE>
        <TRAINING_MODE>OFF</TRAINING_MODE>
        <TRANS_AMOUNT>1.00</TRANS_AMOUNT>
        <TRANS_DATE>2025.09.02</TRANS_DATE>
        <TRANS_SEQ_NUM>6747</TRANS_SEQ_NUM>
        <TRAN_LANG_CODE>EN</TRAN_LANG_CODE>
        <TRANS_TIME>10:32:31</TRANS_TIME>
        <TROUTD>4026910903</TROUTD>
        <COUNTER>92</COUNTER>
        <UI_TIME>4.902</UI_TIME>
        <HOST_TIME>1.540</HOST_TIME>
        <CMD_TIME>9.477</CMD_TIME>
</RESPONSE>

Relevant Error Messages

Transaction Scenario Result Codes Response Text
MMACCOUNT missing in POS request for Multi Merchant enabled device 59042 [MMACCOUNT] field missing
When MMACCOUNT used does not existing on device 59046 Invalid Value for [MMACCOUNT]
When MMACCOUNT and MMPIN combination is invalid 59040 Invalid Combination of [MMPIN] and [MMACCOUNT]
When MMACCOUNT field is used as TERMINAL_NAME and duplicate record is found 59082 Duplicate [MMACCOUNT] name found

Need help?

Do you have a question? If you didn’t find the answer you are looking for in our documentation, you can contact our Support teams for more information. If you have a technical issue or question, please contact us. We are happy to help.

Not yet a Verifone customer?

We’ll help you choose the right payment solution for your business, wherever you want to sell, in-person or online. Our team of experts will happily discuss your needs.

Verifone logo