| Name | Type | Size | Description |
|---|---|---|---|
| MerchantName | String | 1-160 | The name of the business or organization owning the Merchantware account. |
| MerchantSiteId | String | 8-160 | The site identifier of a location or storefront owned by the Merchantware account owner. |
| MerchantKey | String | 1-160 | The software key or password for the site accessing a Merchantware account. |
| Name | Type | Size | Source | Description |
|---|---|---|---|---|
| Source | String (Payment Data Source) | 1-19 | ALL | The method used to supply the payment data. READER or KEYED or PREVIOUSTRANSACTION or VAULT or WALLET |
| TrackData | String | 1-500 | READER | The complete track data (all tracks) for the payment card returned from a card reader. |
| PinBlock | String | 0-100 | READER | The PIN block received from a PIN pad. |
| PinKsn | String | 0-100 | READER | The key serial number (KSN) associated with the PIN block received from a PIN pad. |
| ReaderEntryMode | String | 0-14 | READER | The reader entry mode for this transaction. It can be either MAGNETICSTRIPE or PROXIMITY. |
| CardNumber | String | 13-19 | KEYED, WALLET | The PAN or card number of the payment card. For wallets this is the device issued PAN. |
| ExpirationDate | String | 4 | KEYED, WALLET | The expiration date of the payment card in MMYY format. For wallets this is the device issued expiration date. |
| Cardholder | String | 0-100 | KEYED, WALLET | The cardholder name as it appears on the payment card. |
| AvsStreetAddress | String | 0-100 | KEYED, WALLET, VAULT | The street address associated with the payment card for use in address verification system (AVS) checks. |
| AvsZipCode | String | 0-9 | KEYED, WALLET, VAULT | The ZIP Code associated with the payment card for use in address verification system (AVS) checks. |
| CardVerificationValue | String | 0-100 | KEYED, VAULT | The security code (CVD, CVV, CVC, etc.) of the payment card for use in card verification (CV) checks. |
| EncryptedKeyedData | String | 1-540 | KEYED | The output generated by an encrypted keypad. |
| Token | String | 1-100 | PREVIOUSTRANSACTION | The token identifier returned from a previous transaction. Note: If the merchant is incrementing an authorization, send the token for the authorization. |
| VaultToken | String | 1-40 | VAULT | The token used to identify the payment method within the Merchantware Vault. |
| WalletId | String | 8-9 | WALLET | The Identifier of the Wallet. Currently only supports the values: • ApplePay • GooglePay |
| PaymentCryptogram | String | 0-64 | WALLET | The base-64 encoded payment cryptogram accompanying an e-Commerce wallet transaction. |
| PaymentCryptogramType | String | 3 | WALLET | The type of data represented in the payment cryptogram field. |
| EncryptedPaymentData | String | 0-10000 | WALLET | The encrypted payment data generated for the wallet transaction, base-64 encoded (UTF-8 charset). The data to be encoded differs per wallet brand. For: • **Apple Pay - **Encode the [paymentData](https://developer.apple.com/documentation/passkit/pkpaymenttoken/1617000-paymentdata) field from the [PKPaymentToken](https://developer.apple.com/documentation/passkit/pkpaymenttoken) object. • Google Pay - Encode the token field from the [paymentMethodToken ](https://developers.google.com/pay/api/web/object-reference#PaymentMethodToken)object. |
| EciIndicator | String | 0-2 | WALLET | The Electronic Commerce Indicator (ECI). A field that may accompany a wallet transaction. If present, this value must be passed. Otherwise, the transaction fails. Possible values include: • 05 - This value indicates that the cardholder was verified by the issuer with cardholder’s password or identify information. When the cardholder was successfully authenticated by 3D Secure payment, this value will appear. • 07 - This value will be returned when users tried to make a payment transaction over a secure channel but the 3D authentication was unsuccessful. For instance, when the payment authentication was not performed or the issuer indicates that authentication could not be performed. |
| CardPresence | String (enum) | 0-10 | KEYED | Indicates if the card is present with the merchant at the time of the transaction. Send only if the value for Source is KEYED. Possible values for CardPresence are: • PRESENT • NOTPRESENT |
For all PaymentData, a “Source” type must be defined. Depending on the source, please follow the information below.
Data from Track 2 is required for the TrackData parameter. However, you may send in the raw swipe, as long as it has not been altered since it was read from the payment card. This method will separate Track 2 data by itself.
The TrackData should be unaltered raw swipe data from an unencrypted reader or from an IDTECH, IDTECH Enhanced, or Magtek encrypted reader.
The ReaderEntryMode is defaulted to MAGNETICSTRIPE if it is left blank.
The expiration date should be specified in the form "MMYY", the same ordering as a card holder would physically see on their card. For example, a card expiring in November 2008 would be specified as 1108.
The card security code is composed of the three extra digits printed on the back of most credit cards, although most American Express cards have a four digit number displayed on the front of the card.
It is in your best interest to always send in the address verification information and Card Security Code whenever possible. You can use this information to contest chargebacks and disputes.
It is in your best interest to always send in the address verification information and Card Security Code whenever possible. You can use this information to contest chargebacks and disputes.
The EncryptedKeyedData field within the PaymentData object allows the merchant to use an IDTech encrypted-keypad to supply encrypted keyed data.
The IDTech keypad can produce outputs in two formats:
Within the web method, the EncryptedKeyedData is identified, parsed and decrypted.
| Name | Type | Size | Description |
|---|---|---|---|
| Amount | String (Double) | 1-100 | The desired amount for the transaction. |
| CardAcceptorTerminalId | String (numeric) | 0-16 | The Mastercard Card Acceptor Terminal Identifier used to uniquely identify the terminal to the processor. |
| MerchantTransactionId | String | 0-100 | The merchant-defined identifier for the transaction. |
| MerchantTransactionIdQualifier | String | Indicates that the merchant-defined transaction ID (MerchantTransactionId) is unique per transaction. Include the value: UniqueByMid Note: an error is returned when: • a value other than UniqueByMid is included • a merchant-defined transaction ID (MerchantTransactionId) is missing from the request when a valid MerchantTransactionIdQualifier is included | |
| RegisterNumber | String | 0-10 | The identifier for the register or point of sale submitting the transaction. |
| Invoice | Object | - | An optional field that you use to specify various data the merchant needs to include for level three processing-rates. |
| PurchaseOrderNumber | String | 0-100 | The customer-defined identifier declaring a purchase order for the transaction. |
| StoredCardReason | String | 0-14 | Reason for storing the card details. Possible values are: • RECURRING • INSTALLMENT • UNSCHEDULEDMIT • UNSCHEDULEDCIT Note: If the value for Source is VAULT, the gateway accepts only UNSCHEDULEDCIT and UNSCHEDULEDMIT as the value for StoredCardReason. For more information about regular and unscheduled payment types, see Reasons for Storing Card Details or Using Stored Card Details. |
| StoreCardInVault | String (Boolean) | 0-5 | Indicates if the merchant wants to store the card in the vault for future transactions. |
| AuthorizationType | String | 11 | Indicates if a merchant is incrementing an authorization. Send Do not send this parameter if you are running a new authorization. |
| Name | Type | Size | Description |
|---|---|---|---|
| Token | String | 1-100 | The token identifier returned from a previous pre-authorization transaction. |
| Amount | String (Double) | 1-100 | The final transaction amount. |
| InvoiceNumber | String | 0-8 | The invoice or order number associated with the transaction. |
| RegisterNumber | String | 0-10 | The identifier for the register or point of sale submitting the transaction. |
| MerchantTransactionId | String | 0-100 | The merchant-defined identifier for the transaction. |
| CardAcceptorTerminalId | String (Numeric) | 0-16 | The Mastercard Card Acceptor Terminal Identifier used to uniquely identify the terminal to the processor. |
| MultipleClearing | Object | - | Object that contains information about a transaction that has multiple shipments. See the MultipleClearing data structure. |
| Name | Type | Size | Description |
|---|---|---|---|
| VaultToken | String | 1-40 | The token used to identify the payment method within the Merchantware Vault. |
| ExpirationDate | String | 4 | An optional field that you use to specify the new expiration date of the payment card in MMYY format. |
| AvsStreetAddress | String | 1-100 | An optional field that you use to specify the new address of the payment card. |
| AvsZipCode | String | 1-9 | An optional field that you use to specify the new zip code of the payment card. |
| Name | Type | Size | Description |
|---|---|---|---|
| Amount | String (Double) | 1-100 | The amount of the sale. |
| AuthorizationCode | String | 1-100 | The authorization code for the sale, usually received from the processor as a voice authorization. |
| InvoiceNumber | String | 0-8 | The invoice or order number associated with the transaction. |
| RegisterNumber | String | 0-10 | The identifier for the register or point of sale device submitting the transaction. |
| MerchantTransactionId | String | 0-100 | The merchant-defined identifier for the transaction. |
| MerchantTransactionIdQualifier | String | Indicates that the merchant-defined transaction ID (MerchantTransactionId) is unique per transaction. Include the value: UniqueByMid Note: an error is returned when: • a value other than UniqueByMid is included • a merchant-defined transaction ID (MerchantTransactionId) is missing from the request when a valid MerchantTransactionIdQualifier is included | |
| CardAcceptorTerminalId | String (Numeric) | 0-16 | The Mastercard Card Acceptor Terminal Identifier used to uniquely identify the terminal to the processor. |
| Name | Type | Size | Description |
|---|---|---|---|
| TaxIndicator | String | 0-11 | An indicator that specifies whether the transaction's primary amount includes or omits tax. Values are: • NotProvided • Provided • Exempt |
| ProductDescription | String | 0-100 | Describes the item being purchased by the consumer. |
| DiscountAmount | Decimal | 0-100 | The amount that the merchant deducts as a discount from the cost of the item. |
| ShippingAmount | Decimal | 0-100 | If the merchant needs to ship the item, this is the amount of the transaction that the customer pays for shipping. |
| DutyAmount | Decimal | 0-100 | If the merchant needs to ship the item, this is the amount of the transaction that the customer pays as duty when the shipment enters the destination country. |
| DestinationPostalCode | String | 0-9 | If the merchant needs to ship the item, this is the postal code of the customer’s delivery address. |
| DestinationCountryCode | String | 0-3 | If the merchant needs to ship the item, this is the country code of the customer’s delivery address. |
| ShipFromPostalCode | String | 0-9 | If the merchant needs to ship the item, this is the postal code of the location the merchant ships the item from. |
| LineItems | Object | - | The list of item level details for the transaction. |
| Name | Type | Size | Description |
|---|---|---|---|
| CommodityCode | String | 0-30 | The line item’s commodity code. |
| Description | String | 0-100 | The description of the line item. |
| Upc | String | 0-12 | The line item’s Universal Product Code. |
| Quantity | Decimal | 1-12 | The number of units that the line item contains. Units for the line item are specified in the UnitOfMeasure field. Our gateway accepts values with a maximum of four decimal places. |
| UnitOfMeasure | String | 0-50 | The unit of measure for the contents of the line item. |
| UnitCost | Decimal | 0-100 | The cost of a single unit from the line item. |
| DiscountAmount | Decimal | 0-100 | The amount that the merchant deducts as a discount from the cost of the line item. |
| TotalAmount | Decimal | 0-100 | The total amount of the line item after the merchant deducts all tax and discounts. |
| TaxAmount | Decimal | 0-100 | The tax amount of the line item that is tax. |
| ExtendedAmount | Decimal | 0-100 | The extended amount of the line item. |
| DebitOrCreditIndicator | String | 0-6 | An indicator of whether the line item is a credit or a debit. Values are: • Credit • Debit |
| NetOrGrossIndicator | String | 0-5 | An indicator of whether the line item includes tax (gross) or excludes tax (net). Values are: • Net • Gross |
| Name | Type | Size | Description |
|---|---|---|---|
| SequenceNumber | String | 0-2 | Number of captures that a merchant must run as part of a multiple clearing authorization. Start the SequenceNumber at one and increment by one each time. The transaction finalizes when the SequenceNumber matches the SequenceCount. We accept values 1-99. |
| SequenceCount | String | 0-2 | Number of captures that a merchant must run to complete the authorization. We accept values 2-99. |
| Name | Type | Size | Description |
|---|---|---|---|
| Amount | String (Double) | 0-100 | The amount to refund. |
| InvoiceNumber | String | 0-8 | The invoice or order number associated with the transaction. |
| RegisterNumber | String | 0-10 | The identifier for the register or point of sale submitting the transaction. |
| MerchantTransactionId | String | 0-100 | The merchant-defined identifier for the transaction. |
| MerchantTransactionIdQualifier | String | This parameter is only supported for independent refunds and not refunds by reference. Indicates that the merchant-defined transaction ID (MerchantTransactionId) is unique per transaction. Include the value: UniqueByMid Note: an error is returned when: • a value other than UniqueByMid is included • a merchant-defined transaction ID (MerchantTransactionId) is missing from the request when a valid MerchantTransactionIdQualifier is included | |
| CardAcceptorTerminalId | String (Numeric) | 0-16 | The Mastercard Card Acceptor Terminal Identifier used to uniquely identify the terminal to the processor. |
| StoredCardReason | String | 0-14 | Reason for using the stored card details. Possible values are: • UNSCHEDULEDMIT • UNSCHEDULEDCIT For more information about unscheduled payment types, see Reasons for Storing Card Details or Using Stored Card Details. Note: You cannot use a Refund request to store a cardholder's card details. You must use the Sale or Authorize methods to store a cardholder's card details. |
| Name | Type | Size | Description |
|---|---|---|---|
| Amount | String (Double) | 0-100 | The amount of the sale. |
| CashbackAmount | String (Double) | 0-20 | The optional amount the customer received as cash back from the transaction when performing sales using a debit card. |
| SurchargeAmount | String (Double) | 0-20 | Dollar amount that the merchant charges the cardholder as a surcharge for paying using a credit card. Note: To apply a surcharge, do not use this property as MerchantWare 4.6 calculates the surcharge amount based on the configuration of your merchant account. |
| TaxAmount | String (Double) | 0-100 | The declared tax amount of the transaction. |
| HealthCareAmountDetails | HealthCareAmountDetails | - | The health care amount details used when processing FSA cards. |
| InvoiceNumber | String | 0-8 | The invoice or order number associated with the transaction. |
| PurchaseOrderNumber | String | 0-100 | The customer-defined identifier declaring a purchase order for the transaction. |
| CustomerCode | String | 0-100 | The merchant-defined identifier for the customer involved in the transaction. |
| RegisterNumber | String | 0-10 | The identifier for the register or point of sale device submitting the transaction. |
| MerchantTransactionId | String | 0-100 | The merchant-defined identifier for the transaction. |
| MerchantTransactionIdQualifier | String | Indicates that the merchant-defined transaction ID (MerchantTransactionId) is unique per transaction. Include the value: UniqueByMid Note: an error is returned when: • a value other than UniqueByMid is included • a merchant-defined transaction ID (MerchantTransactionId) is missing from the request when a valid MerchantTransactionIdQualifier is included | |
| CardAcceptorTerminalId | String (Numeric) | 0-16 | The Mastercard Card Acceptor Terminal Identifier used to uniquely identify the terminal to the processor. |
| EnablePartialAuthorization | String (Boolean) | 0-5 | Allow for only part of the total Amount to be authorized during the sale. |
| Name | Type | Size | Description |
|---|---|---|---|
| Token | String | 1-100 | The token identifier returned from a previous transaction. |
| ImageData | String | 1-20000 | The encoded coordinates defining the drawn ligatures of the signature. |
This ImageData field uses a simple format to denote ligatures from a drawn signature. A coordinate is defined by an integer, followed by a comma, followed by another integer, and then finally terminated with a caret. The first coordinate specifies the X or horizontal position. The second coordinate specifies the Y or vertical position. 0,0 is the top-left most coordinate. 65535,65535 is the bottom-right most coordinate.
100,100^
To specify the end of a segment, use the special coordinate 0,65535^ (Pen-up) in the string of text. At the very end of the list of coordinates, append a tilde at the end. Your data should resemble the following output.
10,10^110,110^0,65535^10,110^110,10^0,65535^~
The aforementioned string results in an X being drawn. It contains first the top-left corner to the bottom right corner, then a pen-up coordinate, then the bottom-left to the top-right coordinate, and then a pen-up coordinate.
A pen-up coordinate is not required at the very end, but for your own purposes, it may be useful to specify one when replaying the string for screen drawing or for an image.
The size limit for this method may be increased in the future. For the time being, if you find the size limit on this method is too restrictive, try reducing your sampling frequency when recording a signature, particularly if you are recording a signature from a desktop application. Most POS devices do not have nearly the same resolution as a windowed application on a PC, so a finely detailed signature is not required to create a comparable image.
For best results, the signature coordinates should fall within a 240 by 240 range of dimensions.
Negative coordinates and coordinates outside of 65535 for any dimension are rejected by the web service.
| Name | Type | Size | Description |
|---|---|---|---|
| Token | String | 1-100 | The token identifier returned from a previous sale transaction. |
| Amount | String (Double) | 1-100 | The tip amount used to adjust the total amount of the original sale. |
| Name | Type | Size | Description |
|---|---|---|---|
| VaultToken | String | 1-40 | The token used to identify the payment method within the Merchantware Vault. |
| Name | Type | Size | Description |
|---|---|---|---|
| Token | String | 0-100 | The token identifier returned from a previous transaction. Note: Either Token or MerchantTransactionId is required. |
| RegisterNumber | String | 0-10 | The identifier for the register or point of sale device submitting the transaction. |
| MerchantTransactionId | String | 0-100 | The merchant-defined identifier for the transaction. Note: Either Token or MerchantTransactionId is required. |
| CardAcceptorTerminalId | String (Numeric) | 0-16 | The Mastercard Card Acceptor Terminal Identifier used to uniquely identify the terminal to the processor. |
| Name | Type | Description |
|---|---|---|
| BatchStatus | String | The status of a batch; indicates success or failure. |
| AuthorizationCode | String | The Authorization Code or other batch identifier issued by the processor. |
| BatchAmount | String (Double) | The sum of all transactions within the batch. |
| TransactionCount | Integer | The number of transactions within the batch. |
| TransactionDate | String (DateTime, UTC) | The date and time when the batch was received, in UTC time. |
| ErrorMessage | String | A message indicating why the transaction could not be processed. |
| ExtraData | String | Contains extra information about the transaction, when applicable. |
| Name | Type | Description |
|---|---|---|
| UploadStatus | String | This value describes the upload result of the signature. This value is ACCEPTED if the signature was uploaded without errors, and FAILED if it could not be saved or if there were any other errors. |
| Token | String | The transaction reference identifier receiving the associated signature. |
| TransactionDate | String (DateTime, UTC) | The date of the signature upload attempt, as a string, in UTC time. This value is not stored by the server. |
| ErrorMessage | Integer | A message indicating why the transaction could not be processed. |
| Name | Type | Description |
|---|---|---|
| ApprovalStatus | String | The status of the transaction, whether approved or declined. This value may also have other definitions depending on CardType and context. |
| Token | String | The identifier received by the Merchantware client when a transaction has been issued. This value may be used to lookup a specific transaction in the history log. |
| AuthorizationCode | String | Authorization Code issued by the processor upon receipt of a transaction. |
| TransactionDate | String (DateTime, UTC) | The date and time when a transaction is issued, in UTC time. |
| Amount | String (Double) | The amount of the transaction. If partial authorizations are enabled, this will be the authorized amount and may be different than the requested amount. |
| RemainingCardBalance | String (Double) | The amount of money that remains on a card branded gift card or FSA card. |
| CardNumber | String | A string representing the truncated card number of the payment card used in the transaction. |
| Cardholder | String | The cardholder associated with the payment card used in a transaction. |
| CardType | String (CardType Enumeration) | A value from the CardType enumeration indicating the type of payment card used in a transaction. |
| FsaCard | String (Boolean) | A value indicating if the transaction was processed against an FSA card. |
| ReaderEntryMode | String (ReaderEntryMode Enumeration) | A value from the ReaderEntryMode enumeration indicating the reader mode used to capture data. |
| AvsResponse | String | This is a string describing the result of an Address Verification System lookup. |
| CvResponse | String | A string describing the result of a Card Verification check. |
| ErrorMessage | String | A message indicating why the transaction could not be processed. |
| ExtraData | String | Contains extra information, when applicable. |
| CardBin | String | Bank identification number (BIN) of the payment card, which is the first six digits or first eight digits of the card number printed on the front of the card. Our gateway returns the BIN only if the merchant is set up for this feature and the card number is valid. A card number is valid if it has the following:• Minimum of 15 digits• Numeric characters only Our gateway does not return the CardBin parameter for refunds where the value of the source parameter is PreviousTransaction. If the card number printed on the front of the card is less than 16 digits, only the first six digits are considered the BIN and are exposed in the API response. If the card number printed on the front of the card is 16 or more digits, then the first eight digits are considered the BIN and are exposed in the API response. |
AttachSignature, AdjustTip, Authorize, Capture, ForceCapture, Refund, Sale, Void
| Name | Type | Description |
|---|---|---|
| VaultToken | String | The token used to identify the payment information within the Merchantware Vault. |
| ErrorCode | String | An error code associated with any problems that may have occurred when managing the boarding of payment information. |
| ErrorMessage | String | A message indicating why the boarding changes for a token failed. |
| Rfmiq | String | Recency-Frequency-Monetary IQ. An anonymized identifier representing the payment card used in the transaction. This field is optional and may not be returned. |
UnboardCard, UpdateBoardedCard
| Name | Type | Description |
|---|---|---|
| CardNumber | String | A string representing the truncated card number of the payment card. |
| ExpirationDate | String | The expiration date of the payment card in MMYY format. |
| Cardholder | String | The owner or cardholder associated with the payment information. |
| CardType | String (CardType) | A value from the CardType enumeration indicating the type of payment card. |
| AvsStreetAddress | String | The street address associated with the payment card for use in address verification system (AVS) checks. |
| AvsZipCode | String | The ZIP Code associated with the payment card for use in address verification system (AVS) checks. |
| ErrorCode | String | An error code associated with any problems that may have occurred during the retrieval of payment information. |
| ErrorMessage | String | A message indicating why the retrieval of payment information failed. |
| CardBin | String | Bank identification number (BIN) of the payment card, which is the first six digits or first eight digits of the card number printed on the front of the card. Our gateway returns the BIN only if the merchant is set up for this feature and the card number is valid. A card number is valid if it has the following: • Minimum of 15 digits • Numeric characters only Note: If the card number printed on the front of the card is less than 16 digits, only the first six digits are considered the BIN and are exposed in the API response. If the card number printed on the front of the card is 16 or more digits, then the first eight digits are considered the BIN and are exposed in the API response. |
| Rfmiq | String | Recency-Frequency-Monetary IQ. An anonymized identifier representing the payment card used in the transaction. This field is optional and may not be returned. |
Incremental.| ForceDuplicate |
| String (Boolean) |
| 0-5 |
| Overrides duplicate protection and allow the transaction to process normally. |
| Invoice | Object | - | An optional field that you use to specify various data the merchant needs to include for level three processing-rates. |
| StoredCardReason | String | 0-14 | Reason for storing the card details or using the stored card details. Possible values are: • RECURRING • INSTALLMENT • UNSCHEDULEDMIT • UNSCHEDULEDCIT For more information about regular and unscheduled payments, see Reasons for Storing Card Details or Using Stored Card Details. |
| StoreCardInVault | String (Boolean) | 0-5 | Indicates if the merchant wants to store the card in the vault for future transactions. |
| BillingSequenceNumber | String (Numeric) | 0-2 | Number that indicates the installment in the billing sequence. For example, for the first payment, send a value of 1. Note: • This is not the total number of payments. • This field is not required if the value for StoreCardInVault is TRUE. • Send this parameter only if you send a BillingSequenceCount in the request and the value for Source is VAULT. |
| BillingSequenceCount | String (Numeric) | 0-2 | Total number of installments in the billing sequence. Note: • This field is not required if the value for StoreCardInVault is TRUE. • Send this parameter only if you send a BillingSequenceNumber in the request and the value for Source is VAULT. |
| FraudScoring | FraudScoring | Contains fraud scoring information, including: • ExternalReference - Kount's unique transaction ID • Recommendation - Can be Decline, Approve, Review, or Escalate • Score - Risk score between 1-99, the higher the risk score, the greater the risk of fraud • Status - Can be **Success **or Failure |
| Rfmiq | String | Recency-Frequency-Monetary IQ. An anonymized identifier representing the payment card used in the transaction. This field is optional and may not be returned. |
| Invoice | Object | An optional field that contains various data for level three processing-rates. |
| VaultBoardingResponse | Object | An object that is returned when a cardholder’s payment details are saved to the vault. |
| SurchargeAmount | String | Dollar amount that the merchant charged the cardholder as a surcharge for paying using a credit card. Note: your merchant account must be enabled for surcharging and it's only available for U.S. issued credit cards. |