All pages
Powered by GitBook
1 of 1

Loading...

Getting Started with Unigate

This guide takes you from your Pilot credentials to your first approved test transaction on Unigate, Magensa's API for card-present and card-not-present payments through MPPG v5 or later. You'll set up Postman, build the Authorization header Unigate requires, run a sample EMV sale, and learn which response values to keep for later requests.

New to Unigate? Read the overview first for what Unigate does and when to use it.

Before you begin

You need:

  • A Postman account. The sample requests are published as a Postman collection. Sign up at postman.com if you don't have one.

  • Your Unigate Onboarding Worksheet. It lists your Pilot CustomerCode, Username, and Password, plus the Base64-encoded version of those credentials.

  • Familiarity with REST APIs and the basics of payment processing.

  • A MagTek card reader (optional for this guide). The samples include a working ARQC, so you can run your first transaction without one. You'll need a reader before your integration is complete..

Unigate has two environments, and each has its own credentials.

  1. Sign in to Postman.

  2. Open the collection.

  3. Select Run in Postman in the top right of the page. The button only appears when you're signed in.

  4. Choose the workspace to copy the collection into.

Unigate authenticates every request with HTTP Basic Auth in the Authorization header. Unigate's credential format combines three values instead of the usual two:

  1. Join your CustomerCode and Username with a forward slash (/).

  2. Add a colon (:) and your Password.

Worked example

For Pilot, you can copy the encoded value straight from your Onboarding Worksheet. For Production, generate it in code:

Set your credentials once on the collection so every sample request inherits them:

  1. In Postman, select the Unigate collection and open the Authorization tab.

  2. Set Auth Type to Basic Auth.

  3. Enter CustomerCode/Username as the username (for example, CUSTOMER000/MAGTEST000) and your password as the password. Postman builds the encoded header for you.

Leave each request's authorization set to Inherit auth from parent (the default). If a request fails to authenticate, check that it hasn't been changed.

  1. In the collection, open the Transaction β€Ί EMV folder ().

  2. Open EMV ARQC Sale. EMV ARQC Authorize also works as a starting point.

  3. Select Send.

The request already contains a sample ARQC, so it runs against your Pilot account in real time without a card reader.

A Unigate response contains three kinds of data:

Check isTransactionApproved rather than parsing processor-specific status values. Processors report approval differently: Fiserv returns "StatusCode": "OK", TSYS returns status: "PASS", and Worldpay returns TransactionStatus: "Approved". Amount formats (cents vs. dollars) and date formats also vary. For examples from each processor, see .

The sample ARQC proves your credentials and request format work. Before your integration is complete, you must send an ARQC that your own MagTek reader generated.

  1. Connect your test reader. See .

  2. Run an EMV transaction on the reader with a test card. See .

  3. In EMV ARQC Sale, replace the sample ARQC (also called the Authorization Request) with your reader's ARQC output. For the format of that data, see .

  4. Send the request. Pilot uses test systems, so nothing is charged.

To see a reader and Unigate working together in a browser first, try the . For help getting started with readers, see the .

  • Check your processor's var sheet. Some processors have non-standard requirements, which they list on the var sheet they issue to you.

  • Build the Production header in code as shown in Step 2. Production credentials don't come pre-encoded.

  • Contact your assigned solutions architect for processor-specific inputs and outputs, advanced request fields, or anything this guide doesn't cover.

Base64-encode the resulting string.
  • Put Basic and a space in front of the encoded string.

  • Combined string

    CUSTOMER000/MAGTEST000:123456789

    Base64 encoded

    Q1VTVE9NRVIwMDAvTUFHVEVTVDAwMDoxMjM0NTY3ODk=

    Authorization header

    Basic Q1VTVE9NRVIwMDAvTUFHVEVTVDAwMDoxMjM0NTY3ODk=

    Save the collection.

    Browser demos of Unigate with and without MagTek readers.

    Environment

    Use it for

    Credentials

    Pilot

    Development and testing. Requests go to processor test systems, so nothing is charged.

    From your Onboarding Worksheet, which includes the pre-encoded Base64 value.

    Production

    Live transactions.

    Step

    Value

    CustomerCode

    CUSTOMER000

    Username

    MAGTEST000

    Password

    import base64
    
    customer_code = "CUSTOMER000"
    username = "MAGTEST000"
    password = "123456789"
    
    raw = f"{customer_code}/{username}:{password}"
    auth_header = "Basic " + base64.b64encode(raw.encode("utf-8")).decode("ascii")
    const customerCode = "CUSTOMER000";
    const username = "MAGTEST000";
    const password = "123456789";
    
    const raw = `${customerCode}/${username}:${password}`;
    const authHeader = "Basic " + Buffer.from(raw, "utf8").toString("base64");
    using System;
    using System.Text;
    
    string customerCode = "CUSTOMER000";
    string username = "MAGTEST000";
    string password = "123456789";
    
    string raw = $"{customerCode}/{username}:{password}";
    string authHeader = "Basic " + Convert.ToBase64String(Encoding.UTF8.GetBytes(raw));
    echo "Basic $(printf '%s' 'CUSTOMER000/MAGTEST000:123456789' | base64)"

    Data

    What it's for

    Standardized Magensa fields

    Consistent values across every processor. For example, isTransactionApproved tells you whether the processor approved the transaction, whatever that processor calls "approved."

    Normalized processor fields

    Processor fields renamed to common keys. For example, Fiserv's ReturnCode becomes processorStatusCode, and TSYS's hostReferenceNumber becomes processorReference.

    Raw processor fields

    Topic

    What you'll learn

    Transactions and Reference Transactions

    How initial requests (Sale, Authorize) relate to follow-up actions (Capture, Tip Adjust, Refund, Void).

    Normalized Processor Response Fields

    How Unigate maps processor-specific fields to common keys.

    Unigate API Reference

    Pilot and Production

    Building Tap to Pay on iPhone? Apps with a development entitlement use the Magensa SANDBOX environment, and apps with a production entitlement use PRODUCTION. See Tap to Pay on iPhone API

    Step 1: Copy the collection to Postman

    Step 2: Build the Authorization header

    Python

    Node.js

    C#

    Shell

    WARNING: Base64 is encoding, not encryption. Anyone who sees the header can decode your password. Send requests only over HTTPS, keep credentials out of source control, and never log the header.

    Step 3: Save your credentials at the collection level

    Step 4: Run your first EMV sale

    Step 5: Read the response

    Save the MagTranID. Record the full response from every Transaction request. To Capture, Tip Adjust, Refund, or Void a transaction later, you send a ReferenceTransaction request that uses the original MagTranID.

    Step 6: Test with your own MagTek reader

    Before you go to Production

    Next steps

    Need More Help?

    Need Help?

    For additional support, please contact MagTek Support:

    Technical Support:

    • πŸ“§ Email: support@magtek.com

    • πŸ“ž Phone: 1-562-546-6800 (US)

    • πŸ• Hours: Monday-Friday, 5:30 AM - 5:00 PM PST

    Online Resources:

    • 🌐 Support Portal: developer.magtek.com

    Documentation Feedback:

    Help us improve this documentation!

    Unigate API
    EMV
    Processor Responses
    Connection Basics
    Your First Transaction
    EMV ARQC Type
    MMS Unigate Demo
    RMS reader quickstart
    MPPG/Unigate

    Issued separately. You must build the Authorization header yourself.

    123456789

    The processor's original values, always included so no data is lost.

    Every Transaction and ReferenceTransaction request, with links into the Postman collection.

    feedback@magtek.com
    Web-based Demos