Paytronix Server API

The Paytronix Server (PXS) REST API exposes 40-plus services for guest engagement, including Guest, Enrollment, Transaction, Check, Sale, Payment, Gift, Message, Campaign Feedback, Store, and mobile wallet services. Authentication is handled through the OAuth Service, with client credentials supplied via HTTP Basic, plus email and B2B authentication options. Start with the API Primer covering authentication, formatting, and versioning.

OpenAPI Specification

paytronix-server-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Paytronix Server API
  version: '26.6'
  description: >-
    The Paytronix Server (PXS) REST API exposes the guest engagement platform
    used by 1,800-plus restaurant and convenience-store brands. It spans loyalty
    and stored-value accounts, enrollment and registration, transactions and
    point accrual, gift card sales and redemption, stored-value recharge and
    payment, store/location lookup, and guest authentication. All requests and
    responses are JSON. Operations authenticate with an integration identifier
    and secret sent as an HTTP Basic authorization header; guest-scoped
    operations additionally use an OAuth bearer token issued by the OAuth
    Service. This specification was generated from the public Paytronix
    integration documentation at https://developers.paytronix.com.
  contact:
    name: Kin Lane
    email: [email protected]
  x-generated-from: documentation
  x-source-url: https://developers.paytronix.com/pxs_api_reference/index.html
  x-last-validated: '2026-06-03'
servers:
- url: https://m{merchantId}.api.{server}.com/rest/{release}
  description: >-
    Paytronix REST base URL. The hostname embeds the merchant ID (mMID) and
    the assigned server; the path embeds the release/version (e.g. 26.6).
  variables:
    merchantId:
      default: '1000'
      description: Paytronix-assigned merchant identifier (mMID).
    server:
      default: paytronix
      description: Assigned Paytronix server name.
    release:
      default: '26.6'
      description: API release/version the request body conforms to.
tags:
- name: OAuth
  description: Guest authentication and token issuance.
- name: Guest
  description: Guest account and user information lookup and management.
- name: Enrollment
  description: Card creation, activation, registration, and demographic editing.
- name: Transaction
  description: Loyalty and stored-value transaction processing at the POS.
- name: Gift
  description: Gift card sale, reload, balance, redeem, and exchange.
- name: Payment
  description: Stored-value recharge, saved payment methods, and auto recharge.
- name: Store
  description: Store and location lookup and management.
- name: Check
  description: Check-based point accrual, reward computation, and posting.
security:
- basicAuth: []
paths:
  /oauth/requestGuestToken.json:
    post:
      operationId: requestGuestToken
      summary: Request Guest Token
      description: >-
        Authenticate a guest in a merchant program and issue an OAuth access
        token. Supports password, one_time_password, authorization_code,
        refresh_token, and fieldset grant types.
      tags: [OAuth]
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GuestTokenRequest'
            examples:
              RequestGuestTokenRequestExample:
                summary: Default requestGuestToken request
                x-microcks-default: true
                value:
                  merchantId: 1000
                  grant_type: password
                  username: jdoe
                  password: 's3cret'
                  scope: 'user_read account_read'
                  refresh_token: string
      responses:
        '200':
          description: Token issued.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GuestTokenResponse'
              examples:
                RequestGuestToken200Example:
                  summary: Default requestGuestToken 200 response
                  x-microcks-default: true
                  value:
                    access_token: 9f8c1a2b3c4d5e6f
                    token_type: bearer
                    expires_in: 1800
                    refresh_token: 1a2b3c4d5e6f7a8b
                    scope: 'user_read account_read'
                    username: jdoe
        '400':
          description: Invalid grant or credentials.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorReply'
              examples:
                RequestGuestToken400Example:
                  summary: Default requestGuestToken 400 response
                  x-microcks-default: true
                  value:
                    result: failure
                    errorCode: invalid_grant
                    errorMessage: The supplied credentials were not valid.
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /guest/accountInformation.json:
    get:
      operationId: getAccountInformation
      summary: Get Account Information
      description: >-
        Retrieve account status, card template, tier, and wallet balances for
        an account identified by its printed card number.
      tags: [Guest]
      parameters:
      - name: merchantId
        in: query
        required: true
        description: Paytronix-assigned merchant identifier.
        schema: {type: integer}
      - name: printedCardNumber
        in: query
        required: true
        description: Printed card number identifying the account.
        schema: {type: string}
      - name: accessFilterStoreGroupCode
        in: query
        required: false
        description: Optional store group code used to filter access.
        schema: {type: string}
      responses:
        '200':
          description: Account information.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountInformationReply'
              examples:
                GetAccountInformation200Example:
                  summary: Default getAccountInformation 200 response
                  x-microcks-default: true
                  value:
                    result: success
                    username: jdoe
                    accountStatus: ACTIVE
                    queryCardStatus: ACTIVE
                    registrationStatus: REGISTERED
                    cardTemplateCode: '1'
                    tierCode: GOLD
                    primaryCard: '60490012345678'
                    additionalCards:
                    - string
                    walletBalances:
                    - walletCode: '1'
                      name: Points
                      balance: 1250
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /guest/accountInformationById.json:
    get:
      operationId: getAccountInformationById
      summary: Get Account Information By Account ID
      description: Retrieve account information for an account identified by its account ID.
      tags: [Guest]
      parameters:
      - name: merchantId
        in: query
        required: true
        description: Paytronix-assigned merchant identifier.
        schema: {type: integer}
      - name: accountId
        in: query
        required: true
        description: Paytronix account identifier.
        schema: {type: integer, format: int64}
      - name: accessFilterStoreGroupCode
        in: query
        required: false
        description: Optional store group code used to filter access.
        schema: {type: string}
      responses:
        '200':
          description: Account information.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountInformationReply'
              examples:
                GetAccountInformationById200Example:
                  summary: Default getAccountInformationById 200 response
                  x-microcks-default: true
                  value:
                    result: success
                    username: jdoe
                    accountStatus: ACTIVE
                    queryCardStatus: ACTIVE
                    registrationStatus: REGISTERED
                    cardTemplateCode: '1'
                    tierCode: GOLD
                    primaryCard: '60490012345678'
                    additionalCards:
                    - string
                    walletBalances:
                    - walletCode: '1'
                      name: Points
                      balance: 1250
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /guest/userInformation.json:
    get:
      operationId: getUserInformation
      summary: Get User Information
      description: >-
        Retrieve demographic user fields, primary card numbers, related guests,
        and account IDs for a registered user identified by username.
      tags: [Guest]
      parameters:
      - name: merchantId
        in: query
        required: true
        description: Paytronix-assigned merchant identifier.
        schema: {type: integer}
      - name: username
        in: query
        required: true
        description: Registered guest username.
        schema: {type: string}
      responses:
        '200':
          description: User information.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserInformationReply'
              examples:
                GetUserInformation200Example:
                  summary: Default getUserInformation 200 response
                  x-microcks-default: true
                  value:
                    result: success
                    userFields: &id001
                      firstName: Jane
                      lastName: Doe
                      email: [email protected]
                    primaryCardNumbers:
                    - string
                    accountIds:
                    - 0
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /guest/transactionHistory.json:
    get:
      operationId: getTransactionHistory
      summary: Get Transaction History
      description: >-
        Retrieve wallet balances and a list of transactions (accruals,
        redemptions, balance changes) for an account by printed card number.
      tags: [Guest]
      parameters:
      - name: merchantId
        in: query
        required: true
        description: Paytronix-assigned merchant identifier.
        schema: {type: integer}
      - name: printedCardNumber
        in: query
        required: true
        description: Printed card number identifying the account.
        schema: {type: string}
      - name: dateStart
        in: query
        required: false
        description: Inclusive start date for the history window.
        schema: {type: string, format: date}
      - name: dateEnd
        in: query
        required: false
        description: Inclusive end date for the history window.
        schema: {type: string, format: date}
      - name: maxNumberOfResults
        in: query
        required: false
        description: Maximum number of transactions to return.
        schema: {type: integer}
      - name: limitToBalanceAffectingTransactions
        in: query
        required: false
        description: When true, only balance-affecting transactions are returned.
        schema: {type: boolean}
      responses:
        '200':
          description: Transaction history.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionHistoryReply'
              examples:
                GetTransactionHistory200Example:
                  summary: Default getTransactionHistory 200 response
                  x-microcks-default: true
                  value:
                    result: success
                    walletInfo:
                    - walletCode: '1'
                      name: Points
                      balance: 1250
                    transactions:
                    - transactionId: string
                      datetime: '2026-06-03T12:00:00Z'
                      type: ACCRUAL
                      walletCode: string
                      amount: 0
                      balance: 0
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /guest/changeCardStatus.json:
    post:
      operationId: changeCardStatus
      summary: Change Card Status
      description: Enable or disable a card by setting its status to ACTIVE or DISABLED.
      tags: [Guest]
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChangeCardStatusRequest'
            examples:
              ChangeCardStatusRequestExample:
                summary: Default changeCardStatus request
                x-microcks-default: true
                value:
                  merchantId: 1000
                  printedCardNumber: '60490012345678'
                  status: DISABLED
      responses:
        '200':
          description: Status change result.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SimpleReply'
              examples:
                ChangeCardStatus200Example:
                  summary: Default changeCardStatus 200 response
                  x-microcks-default: true
                  value:
                    result: success
                    errorCode: string
                    errorMessage: string
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /enrollment/createAndRegister.json:
    post:
      operationId: createAndRegister
      summary: Create And Register Account
      description: >-
        Create, activate, and register a virtual card in one operation. Requires
        a username and password in the user fields; optionally supports SMS
        verification.
      tags: [Enrollment]
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateAndRegisterRequest'
            examples:
              CreateAndRegisterRequestExample:
                summary: Default createAndRegister request
                x-microcks-default: true
                value:
                  merchantId: 1000
                  cardTemplateCode: '1'
                  enforceUniqueFields: &id002 [email]
                  setUserFields: &id003
                    username: jdoe
                    password: s3cret
                    firstName: Jane
                    lastName: Doe
                    email: [email protected]
                  setAccountFields: {}
                  sendSmsVerification: true
                  smsVerificationCode: string
      responses:
        '200':
          description: Enrollment result with account information.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnrollmentReply'
              examples:
                CreateAndRegister200Example:
                  summary: Default createAndRegister 200 response
                  x-microcks-default: true
                  value:
                    result: success
                    printedCardNumber: '60490012345678'
                    accountId: 998877
                    username: jdoe
                    errorCode: string
                    errorsByField: {}
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /enrollment/activateAndRegister.json:
    post:
      operationId: activateAndRegister
      summary: Activate And Register Card
      description: >-
        Activate an existing printed card and register it simultaneously,
        requiring username and password in the user fields.
      tags: [Enrollment]
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ActivateAndRegisterRequest'
            examples:
              ActivateAndRegisterRequestExample:
                summary: Default activateAndRegister request
                x-microcks-default: true
                value:
                  merchantId: 1000
                  printedCardNumber: '60490012345678'
                  enforceUniqueFields:
                  - string
                  setUserFields: {}
                  setAccountFields: {}
      responses:
        '200':
          description: Registration result with account information.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnrollmentReply'
              examples:
                ActivateAndRegister200Example:
                  summary: Default activateAndRegister 200 response
                  x-microcks-default: true
                  value:
                    result: success
                    printedCardNumber: '60490012345678'
                    accountId: 998877
                    username: jdoe
                    errorCode: string
                    errorsByField: {}
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /enrollment/enrollmentConfig.json:
    get:
      operationId: getEnrollmentConfig
      summary: Get Enrollment Configuration
      description: >-
        Retrieve the field definitions (type, label, required, validation
        rules) used to enroll guests in a program.
      tags: [Enrollment]
      parameters:
      - name: merchantId
        in: query
        required: true
        description: Paytronix-assigned merchant identifier.
        schema: {type: integer}
      - name: cardTemplateCode
        in: query
        required: true
        description: Card template code identifying the program.
        schema: {type: string}
      responses:
        '200':
          description: Enrollment configuration.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnrollmentConfigReply'
              examples:
                GetEnrollmentConfig200Example:
                  summary: Default getEnrollmentConfig 200 response
                  x-microcks-default: true
                  value:
                    result: success
                    config:
                      fields:
                      - name: email
                        type: string
                        label: Email Address
                        required: true
                        pattern: string
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /transaction/activate.json:
    post:
      operationId: activateCard
      summary: Activate Card
      description: Activate a loyalty card, returning card details and enrollment date.
      tags: [Transaction]
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TransactionRequest'
            examples:
              ActivateCardRequestExample:
                summary: Default activateCard request
                x-microcks-default: true
                value:
                  headerInfo:
                    merchantId: 1000
                    storeCode: '1'
                    programId: PX
                    terminal: '1'
                    operator: '100'
                    posTransactionId: string
                  cardInfo:
                    printedCardNumber: '60490012345678'
                    magstripe: string
                    cardTemplateCode: '1'
                  autoActivateCard: true
      responses:
        '200':
          description: Transaction reply.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionReply'
              examples:
                ActivateCard200Example:
                  summary: Default activateCard 200 response
                  x-microcks-default: true
                  value:
                    result: success
                    pxTransactionId: 'TXN-12345'
                    maskedCardNumber: '******5678'
                    enrollmentDate: '2026-06-03'
                    walletBalances:
                    - walletCode: '1'
                      name: Points
                      balance: 1250
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /transaction/balanceInquiry.json:
    post:
      operationId: balanceInquiry
      summary: Balance Inquiry
      description: Retrieve current stored-value balance and loyalty program information for a card.
      tags: [Transaction]
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TransactionRequest'
            examples:
              BalanceInquiryRequestExample:
                summary: Default balanceInquiry request
                x-microcks-default: true
                value:
                  headerInfo:
                    merchantId: 1000
                    storeCode: '1'
                    programId: PX
                    terminal: '1'
                    operator: '100'
                    posTransactionId: string
                  cardInfo:
                    printedCardNumber: '60490012345678'
                    magstripe: string
                    cardTemplateCode: '1'
                  autoActivateCard: true
      responses:
        '200':
          description: Transaction reply with balances.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionReply'
              examples:
                BalanceInquiry200Example:
                  summary: Default balanceInquiry 200 response
                  x-microcks-default: true
                  value:
                    result: success
                    pxTransactionId: 'TXN-12345'
                    maskedCardNumber: '******5678'
                    enrollmentDate: '2026-06-03'
                    walletBalances:
                    - walletCode: '1'
                      name: Points
                      balance: 1250
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /transaction/addRedeem.json:
    post:
      operationId: addRedeem
      summary: Add Or Redeem Wallet Value
      description: >-
        Add value to or redeem value from a card account using add and redeem
        wallet content lists. Use programId SV for gift and LP for loyalty.
      tags: [Transaction]
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddRedeemRequest'
            examples:
              AddRedeemRequestExample:
                summary: Default addRedeem request
                x-microcks-default: true
                value:
                  headerInfo:
                    merchantId: 1000
                    storeCode: '1'
                    programId: PX
                    terminal: '1'
                    operator: '100'
                    posTransactionId: string
                  cardInfo:
                    printedCardNumber: '60490012345678'
                    magstripe: string
                    cardTemplateCode: '1'
                  addWalletContents:
                  - walletCode: '1'
                    quantity: 10
                    expiration: '2026-06-03'
                  redeemWalletContents:
                  - walletCode: '1'
                    quantity: 10
                    expiration: '2026-06-03'
      responses:
        '200':
          description: Add/redeem reply with updated balances.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AddRedeemReply'
              examples:
                AddRedeem200Example:
                  summary: Default addRedeem 200 response
                  x-microcks-default: true
                  value:
                    result: success
                    pxTransactionId: 'TXN-67890'
                    walletContents:
                    - walletCode: '1'
                      name: Points
                      balance: 1250
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /transaction/accountQuery.json:
    post:
      operationId: accountQuery
      summary: Query Accounts
      description: >-
        Search for accounts by phone, name, email, or postal code, returning
        matching customer records and field values.
      tags: [Transaction]
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AccountQueryRequest'
            examples:
              AccountQueryRequestExample:
                summary: Default accountQuery request
                x-microcks-default: true
                value:
                  headerInfo:
                    merchantId: 1000
                    storeCode: '1'
                    programId: PX
                    terminal: '1'
                    operator: '100'
                    posTransactionId: string
                  pageSize: 25
                  accountQueries:
                  - phone: string
                    email: string
                    firstName: string
                    lastName: string
                    postalCode: string
      responses:
        '200':
          description: Account query reply.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountQueryReply'
              examples:
                AccountQuery200Example:
                  summary: Default accountQuery 200 response
                  x-microcks-default: true
                  value:
                    result: success
                    accounts:
                    - accountId: 0
                      printedCardNumber: string
                      fieldValues: {}
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /gift/sell.json:
    post:
      operationId: sellGiftCard
      summary: Sell Gift Card
      description: Activate a gift card and add the initial value to it.
      tags: [Gift]
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GiftRequest'
            examples:
              SellGiftCardRequestExample:
                summary: Default sellGiftCard request
                x-microcks-default: true
                value:
                  merchantId: 1000
                  storeCode: '1'
                  cardInfo:
                    printedCardNumber: '60490012345678'
                    magstripe: string
                    cardTemplateCode: '1'
                  amount: 25.00
                  checkNumber: string
                  cashier: string
                  terminalId: string
                  externalTransactionId: string
      responses:
        '200':
          description: Gift transaction reply.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GiftReply'
              examples:
                SellGiftCard200Example:
                  summary: Default sellGiftCard 200 response
                  x-microcks-default: true
                  value:
                    result: success
                    pxTransactionId: 'GIFT-44556'
                    printedCardNumber: '70123456789012'
                    currentBalance: 50.00
                    errorCode: string
                    errorMessage: string
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /gift/reload.json:
    post:
      operationId: reloadGiftCard
      summary: Reload Gift Card
      description: Add value to a gift card that has already been activated.
      tags: [Gift]
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GiftRequest'
            examples:
              ReloadGiftCardRequestExample:
                summary: Default reloadGiftCard request
                x-microcks-default: true
                value:
                  merchantId: 1000
                  storeCode: '1'
                  cardInfo:
                    printedCardNumber: '60490012345678'
                    magstripe: string
                    cardTemplateCode: '1'
                  amount: 25.00
                  checkNumber: string
                  cashier: string
                  terminalId: string
                  externalTransactionId: string
      responses:
        '200':
          description: Gift transaction reply.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GiftReply'
              examples:
                ReloadGiftCard200Example:
                  summary: Default reloadGiftCard 200 response
                  x-microcks-default: true
                  value:
                    result: success
                    pxTransactionId: 'GIFT-44556'
                    printedCardNumber: '70123456789012'
                    currentBalance: 50.00
                    errorCode: string
                    errorMessage: string
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /gift/balance.json:
    post:
      operationId: getGiftBalance
      summary: Get Gift Card Balance
      description: Retrieve the current balance of a gift card.
      tags: [Gift]
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GiftBalanceRequest'
            examples:
              GetGiftBalanceRequestExample:
                summary: Default getGiftBalance request
                x-microcks-default: true
                value:
                  merchantId: 1000
                  storeCode: '1'
                  cardInfo:
                    printedCardNumber: '60490012345678'
                    magstripe: string
                    cardTemplateCode: '1'
      responses:
        '200':
          description: Gift transaction reply with current balance.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GiftReply'
              examples:
                GetGiftBalance200Example:
                  summary: Default getGiftBalance 200 response
                  x-microcks-default: true
                  value:
                    result: success
                    pxTransactionId: 'GIFT-44556'
                    printedCardNumber: '70123456789012'
                    currentBalance: 50.00
                    errorCode: string
                    errorMessage: string
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /gift/redeem.json:
    post:
      operationId: redeemGiftCard
      summary: Redeem Gift Card
      description: Redeem value from a gift card, optionally including a tip.
      tags: [Gift]
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GiftRedeemRequest'
            examples:
              RedeemGiftCardRequestExample:
                summary: Default redeemGiftCard request
                x-microcks-default: true
                value:
                  merchantId: 1000
                  storeCode: '1'
                  cardInfo:
                    printedCardNumber: '60490012345678'
                    magstripe: string
                    cardTemplateCode: '1'
                  amount: 25.00
                  checkNumber: string
                  cashier: string
                  terminalId: string
                  externalTransactionId: string
                  tip: 5.00
      responses:
        '200':
          description: Gift transaction reply.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GiftReply'
              examples:
                RedeemGiftCard200Example:
                  summary: Default redeemGiftCard 200 response
                  x-microcks-default: true
                  value:
                    result: success
                    pxTransactionId: 'GIFT-44556'
                    printedCardNumber: '70123456789012'
                    currentBalance: 50.00
                    errorCode: string
                    errorMessage: string
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /payment/recharge.json:
    post:
      operationId: rechargeStoredValue
      summary: Rec

# --- truncated at 32 KB (59 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/paytronix/refs/heads/main/openapi/paytronix-server-api-openapi.yml