Make a Payment

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…

🚧

Too many fields? Looking for a specific payment scenario?

The reference to the left has all of the available fields for a payment, which can be a bit overwhelming. Check out our documentation on payments for specific examples with only the required fields listed.

šŸ“˜

All Possible Payment Statuses

  • Approved (Authorized)
  • Declined
  • Settled
  • Voided
  • Chargedback
  • TicketOnly (Offline)
  • AuthOnly (Hold)
  • InProgress

šŸ“˜

Reference, ClientReference, Invoice, CustomerCode

These fields are auto-generated by our servers. The reference number is the payment reference number and can be used instead of the id to retrieve this payment. The Client Reference is the same but can be passed into the payment if the client has their own referencing system. The invoice field is the last 8 characters from the reference number unless an invoice is passed in. The customer code field is the same; unless provided, it will copy the reference field.

ā—ļø

A note about the B2B app generating data

If you have the B2B app turned on and you would like the app to generate all the level 3 data for you, you cannot include customerCode along with your invoice and clientReference fields. Doing so will make the system think you are providing your own B2B information in the required B2B fields.

ā—ļø

What if my terminal times out?

We have a field called replayId and, when sent in with a payment, it allows you to send the same payment multiple times, but if the payment with that replayId has already processed, we will return the original response instead of processing the payment again.

Query Params
boolean
Defaults to false
boolean
Defaults to false

Return customers that have this card vaulted in their account

Body Params
string
required

Id of the merchant

float
required

The payment amount. Must not be 0.

string
required
Defaults to Sale

Type of transaction Values: Sale, Return, CashAdvance, Prepaid, Adjustment, Void, Reversal, Authorization, SaleCompletion, PaymentTransaction, Withdrawal, Balance

string

Values: Card, Check, Cash, Multiple, Loyalty, ACH

cardAccount
object

Card Account Object (Required if tenderType is Card)

bankAccount
object

Bank Account Object (Required if tenderType is Check or ACH)

string
Defaults to WEB

Gets or sets the ACH entry class Values: CCD, PPD, TEL, WEB

boolean
Defaults to false

Indicates that this payment should NOT be added to current batch. AuthOnly payment won't be settled.

boolean
Defaults to false

Should this card be authorized?

boolean
Defaults to false

Should this transaction be settled?

customer
object

Associate the payment to an existing customer in your customer database.

string

Customer Name (256 char) (Does NOT associate payment to customer)

string

Client provided customer reference number (Associates with Customer Number). Cannot be combined with invoiceId and clientReference if B2B is on

string

Memo field (Can include a stringified JSON object)

int32

A merchant-supplied identifier to uniquely identify a payment request to facilitate retries due to I/O related issues. This identifier must be unique. If supplied, we will check for a payment that matches this identifier. If found will return an identical response of the original request. Represents a bigInt value.

string
Defaults to API

Values: API, QuickPay, Recurring, Link2Pay, Terminal

string

Client provided payment reference number; can be associated with multiple payments (17 char max)

string

Client provided invoice number (Generated by server if not provided,16 char max)

invoiceIds
array of strings

If there are multiple invoices, you can send in an array of existing invoice ids (Note: they must already exist in MX Merchant)

invoiceIds
orderIds
array of strings

If there are multiple orders, you can send in an array of existing order ids (Note: they must already exist in MX Merchant)

orderIds
float

Tax Amount (included in amount)

boolean
Defaults to false

If true, tax amount must be 0

posData
object
required

POS transaction Data

Although the ā€œposDataā€ object is not a requirement for payment requests, we highly recommend that you use it. The values passed will help the host determine how the transaction will be presented to the authorization networks for approval. This may impact data integrity, chargebacks, and or final qualification for the transaction.

string

Gets/Sets the device identifier, this is the terminal id.

purchases
array of objects

Gets/Sets the list of purchases. Used by level 3 data during settlement

purchases
float

Gets/Sets the ship amount, used by level 3 data during settlement

string

Gets/Sets the 3-digit alphanumeric ship-to country code, i.e. USA, used by level 3 data during settlement

string

Gets/Sets the ship-to zip code, used by level 3 data during settlement

boolean

Checks if the card is a business card. Only used when B2B is enabled.

boolean

Use this param to vault a new card to a new or existing customer. Send in customer.id to vault to an existing customer, and at a minimum, customer.firstName or customer.lastName to vault the card to a new customer.

float

Gets/Sets the amount of the gratuity (included in amount).

float

Gets/Sets the vat amount, used by level 3 data during settlement

float

Gets/Sets the VAT rate, used by level 3 data during settlement

tags
array of strings

Associate a tag with the payment (You must set up the tag first in MX Merchant)

tags
Responses

Language
Credentials
Basic
base64
:
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json