Acquirer flows

How acquiring banks load and manage merchants on the Scan to Pay platform.

If you're an acquiring bank loading merchants you already manage onto the Scan to Pay platform, this is your flow. You use acquirer-specific credentials issued directly by EFT Corp (not generated in the Portal), and create merchants on behalf of your own merchant accounts.

For the PSP / Aggregator version of the same API, see PSP / Aggregator flows. For the operation reference, see Onboarding overview.


Acquirer-specific credentials

Acquirer credentials are different from PSP credentials in two ways:

AcquirerPSP
Where they come fromIssued directly by EFT Corp on signed agreementGenerated by the PSP in the Portal under the API tab
Username formatAcquirer-specific identifier provided in onboarding packpsp-{id}
Audit / scopingScoped to all merchants under that acquirer's umbrellaScoped to the merchants the PSP has created
RenewingContact EFT Corp directlySelf-serve via Portal

If you don't have your acquirer credentials yet, request them via [email protected].

You also need a corresponding PSP ID to provide when creating merchants — it identifies which PSP relationship the merchant sits under. Your onboarding pack will include the PSP ID(s) you're allowed to operate against.


Create a merchant (acquirer)

curl -X POST "https://qa.scantopay.io/portal/restful/merchant/create" \
  -u "$ACQUIRER_USERNAME:$ACQUIRER_PASSWORD" \
  -H 'Content-Type: application/json' \
  -d '{
    "pspId": "PSP123",
    "email": "[email protected]",
    "name": "Acme Coffee Pty Ltd",
    "tradingName": "Acme Coffee",
    "url": "https://acmecoffee.example",
    "phoneNumber": "27101234567",
    "currencyCode": "ZAR",
    "merchantCategoryCode": "5814",
    "acquirerMerchantId": "012345678901234",
    "acquirerTerminalId": "00012345",
    "address": {
      "line1": "1 Main Road",
      "city": "Cape Town",
      "country": "ZA",
      "postalCode": "8001"
    }
  }'

Acquirer-specific fields beyond the standard merchant payload:

FieldRequiredDescription
pspIdThe PSP relationship this merchant sits under. From your acquirer onboarding pack.
acquirerMerchantIdThe merchant ID as registered with the card scheme (Mastercard). 15 characters.
acquirerTerminalIdThe terminal ID for this merchant under your acquirer.
merchantCategoryCode4-digit MCC. Must match what's registered with the scheme.
⚠️

acquirerMerchantId must match what's registered with Mastercard. This is the linkage that lets the platform route the merchant's transactions to your acquirer for settlement. A mismatch causes transactions to fail at the bank-routing stage.


Updates

Most update operations are the same as the PSP flow. The one difference: acquirers can update fields PSPs can't, including acquirerMerchantId and acquirerTerminalId.

⚠️

Changing acquirerMerchantId mid-life requires coordination. Trans-in-flight that have been authorised but not yet settled will route to the old MID. Coordinate the change with a low-traffic window and ensure both MIDs are valid during the transition.


Permissions and scoping

Acquirer credentials can:

OperationAllowed
Create a merchant under any PSP in your acquirer scope
Update any merchant under your acquirer scope
Suspend any merchant under your acquirer scope
Update acquirerMerchantId and acquirerTerminalId
Generate API passwords for merchants in your scope
List merchants under your scope
Manage merchants in other acquirers' scopes✗ — returns 403 Forbidden

What's next