Outdated API
4.5 is not the latest version of the MerchantWare API and is not available for new integrations. The documentation below serves only as a reference to support existing integrations.
The credit web service provides payment processing and methods for both credit and debit cards.
https://ps1.merchantware.net/Merchantware/ws/RetailTransaction/v45/Credit.asmx
All examples in this document use SOAP 1.2. Using SOAP 1.2 requires a Content-Type header of “text/xml; charset=utf-8”. Please do not include the SOAPAction header previously used for SOAP 1.1 transactions.
The AdjustTip web methods adds or alters the tip amount to a prior transaction.
| Name | Type | Description |
|---|---|---|
| Credentials | MerchantCredentials | A MerchantCredentials object used to authenticate against Merchantware. |
| Request | TipRequest | A TipRequest object containing the transactional data used to perform a tip adjustment. |
A TransactionResponse45 object is returned.
The AdjustTip method changes the tip amount to a prior sale in the current batch. It is not possible to adjust the tip of a transaction settled in a previous batch.
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
<soap:Body>
<AdjustTip xmlns="http://schemas.merchantwarehouse.com/merchantware/v45/">
<Credentials>
<MerchantName>Zero Inc</MerchantName>
<MerchantSiteId>00000000</MerchantSiteId>
<MerchantKey>00000-00000-00000-00000-00000</MerchantKey>
</Credentials>
<Request>
<Token>1236559</Token>
<Amount>1.00</Amount>
</Request>
</AdjustTip>
</soap:Body>
</soap:Envelope><soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<AdjustTipResponse xmlns="http://schemas.merchantwarehouse.com/merchantware/v45/">
<AdjustTipResult>
<ApprovalStatus>APPROVED</ApprovalStatus>
<Token>1236560</Token>
<AuthorizationCode/>
<TransactionDate>3/14/2016 7:54:23 PM</TransactionDate>
<Amount/>
<RemainingCardBalance/>
The AttachSignature web method appends a signature record to an existing transaction. This signature record is applied for a string containing vector drawing instructions.
| Name | Type | Description |
|---|---|---|
| Credentials | MerchantCredentials | A MerchantCredentials object used to authenticate against Merchantware. |
| Request | SignatureRequest | A SignatureRequest object containing the data used to attach a signature to an existing transaction. |
A SignatureResponse45 object is returned.
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
<soap:Body>
<AttachSignature xmlns="http://schemas.merchantwarehouse.com/merchantware/v45/">
<Credentials>
<MerchantName>Zero Inc</MerchantName>
<MerchantSiteId>00000000</MerchantSiteId>
<MerchantKey>00000-00000-00000-00000-00000</MerchantKey>
</Credentials>
<Request>
<Token>608957</Token>
<VectorImageData>10,10^110,110^0,65535^10,110^110,10^0,65535^~</
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<AttachSignatureResponse xmlns="http://schemas.merchantwarehouse.com/merchantware/v45/">
<AttachSignatureResult>
<UploadStatus>ACCEPTED</UploadStatus>
<Token>608957</Token>
<TransactionDate>3/14/2016 7:57:32 PM</TransactionDate>
<ErrorMessage/>
</AttachSignatureResult>
</AttachSignatureResponse
The Authorize web method applies an authorization to a credit card which can be captured at a later time.
| Name | Type | Description |
|---|---|---|
| Credentials | MerchantCredentials | A MerchantCredentials object used to authenticate against Merchantware. |
| PaymentData | PaymentData | A PaymentData object containing the payment details of the card used to process the transaction. |
| Request | AuthorizationRequest | An AuthorizationRequest object containing the transactional data used to create the authorization. |
A TransactionResponse45 object is returned.
Reader, Keyed, Vault, Wallet
To finish committing a transaction, the token obtained from this method should be used with the Capture web method.
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
<soap:Body>
<Authorize xmlns="http://schemas.merchantwarehouse.com/merchantware/v45/">
<Credentials>
<MerchantName>Zero Inc</MerchantName>
<MerchantSiteId>00000000</MerchantSiteId>
<MerchantKey>00000-00000-00000-00000-00000</MerchantKey>
</Credentials>
<PaymentData>
<Source>Keyed</Source>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<AuthorizeResponse xmlns="http://schemas.merchantwarehouse.com/merchantware/v45/">
<AuthorizeResult>
<ApprovalStatus>APPROVED</ApprovalStatus>
<Token>608958</Token>
<AuthorizationCode>OK785C</AuthorizationCode>
<TransactionDate>3/14/2016 7:58:33 PM</TransactionDate>
<Amount>1.05</Amount>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
<soap:Body>
<Authorize xmlns="http://schemas.merchantwarehouse.com/merchantware/v45/">
<Credentials>
<MerchantName>Zero Inc</MerchantName>
<MerchantSiteId>00000000</MerchantSiteId>
<MerchantKey>00000-00000-00000-00000-00000</MerchantKey>
</Credentials>
<PaymentData>
<Source>Keyed</Source>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<AuthorizeResponse xmlns="http://schemas.merchantwarehouse.com/merchantware/v45/">
<AuthorizeResult>
<ApprovalStatus>APPROVED</ApprovalStatus>
<Token>608958</Token>
<AuthorizationCode>OK785C</AuthorizationCode>
<TransactionDate>3/14/2016 7:58:33 PM</TransactionDate>
<Amount>1.05</Amount>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
<soap:Body>
<Authorize xmlns="http://schemas.merchantwarehouse.com/merchantware/v45/">
<Credentials>
<MerchantName>Zero Inc</MerchantName>
<MerchantSiteId>00000000</MerchantSiteId>
<MerchantKey>00000-00000-00000-00000-00000</MerchantKey>
</Credentials>
<PaymentData>
<Source>READER</Source>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<AuthorizeResponse xmlns="http://schemas.merchantwarehouse.com/merchantware/v45/">
<AuthorizeResult>
<ApprovalStatus>APPROVED</ApprovalStatus>
<Token>608959</Token>
<AuthorizationCode>OK788C</AuthorizationCode>
<TransactionDate>3/14/2016 7:59:58 PM</TransactionDate>
<Amount>2.74</Amount>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
<soap:Body>
<Authorize xmlns="http://schemas.merchantwarehouse.com/merchantware/v45/">
<Credentials>
<MerchantName>Zero Inc</MerchantName>
<MerchantSiteId>00000000</MerchantSiteId>
<MerchantKey>00000-00000-00000-00000-00000</MerchantKey>
</Credentials>
<PaymentData>
<Source>Vault</Source>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<AuthorizeResponse xmlns="http://schemas.merchantwarehouse.com/merchantware/v45/">
<AuthorizeResult>
<ApprovalStatus>APPROVED</ApprovalStatus>
<Token>608960</Token>
<AuthorizationCode>OK790C</AuthorizationCode>
<TransactionDate>3/14/2016 8:02:00 PM</TransactionDate>
<Amount>2.05</Amount>
Note: Amount is not included in the AuthorizeRequest object for Apple Pay. It is part of the EncryptedPaymentData.
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns="http://schemas.merchantwarehouse.com/merchantware/v45/">
<soap:Header/>
<soap:Body>
<Authorize>
<Credentials>
<MerchantName>TEST</MerchantName>
<MerchantSiteId>111111111</MerchantSiteId>
<MerchantKey>11111-11111-11111-11111-11111</MerchantKey>
</Credentials>
<PaymentData>
<Source>Wallet</Source>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns="http://schemas.merchantwarehouse.com/merchantware/v45/">
<soap:Header/>
<soap:Body>
<Authorize>
<Credentials>
<MerchantName>TEFTestProcExtRetail</MerchantName>
<MerchantSiteId>P5HGEXGJ</MerchantSiteId>
<MerchantKey>V0JVV-AO0LT-U8AIB-14URM-10QE7</MerchantKey>
</Credentials>
<PaymentData>
<Source>Wallet</Source>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<AuthorizeResponse xmlns="http://schemas.merchantwarehouse.com/merchantware/v45/">
<AuthorizeResult>
<ApprovalStatus>APPROVED</ApprovalStatus>
<Token>600003478</Token>
<AuthorizationCode>OK9999</AuthorizationCode>
<TransactionDate>10/9/2017 6:34:49 PM</TransactionDate>
<Amount>1.00</Amount>
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
<soap:Body>
<Authorize xmlns="http://schemas.merchantwarehouse.com/merchantware/v45/">
<Credentials>
<MerchantName>Zero Inc</MerchantName>
<MerchantSiteId>00000000</MerchantSiteId>
<MerchantKey>00000-00000-00000-00000-00000</MerchantKey>
</Credentials>
<PaymentData>
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<AuthorizeResponse>
<AuthorizeResult>
<ApprovalStatus>APPROVED</ApprovalStatus>
<Token>123456789</Token>
<AuthorizationCode>OK9999</AuthorizationCode>
<TransactionDate>3/14/2018 7:57:22 PM</
The BoardCard method stored payment information for a credit card into the Merchantware Vault.
| Name | Type | Description |
|---|---|---|
| Credentials | MerchantCredentials | A MerchantCredentials object used to authenticate against Merchantware. |
| PaymentData | PaymentData | A PaymentData object containing the payment details of the card used to process the transaction. |
A VaultBoardingResponse45 object is returned.
Reader, Keyed, Vault, PreviousTransaction
Vault can only be used as a Data Source when using a One Time Token.
Merchant Defined Tokens are no longer supported.
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
<soap:Body>
<BoardCard xmlns="http://schemas.merchantwarehouse.com/merchantware/v45/">
<Credentials>
<MerchantName>Zero Inc</MerchantName>
<MerchantSiteId>00000000</MerchantSiteId>
<MerchantKey>00000-00000-00000-00000-00000</MerchantKey>
</Credentials>
<PaymentData>
<Source>Keyed</Source>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<BoardCardResponse xmlns="http://schemas.merchantwarehouse.com/merchantware/v45/">
<BoardCardResult>
<VaultToken>1000000000002WSZECPL</VaultToken>
<ErrorCode/>
<ErrorMessage/>
<Rfmiq>10000ABCDE</Rfmiq>
</BoardCardResult>
</BoardCardResponse>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
<soap:Body>
<BoardCard xmlns="http://schemas.merchantwarehouse.com/merchantware/v45/">
<Credentials>
<MerchantName>Zero Inc</MerchantName>
<MerchantSiteId>00000000</MerchantSiteId>
<MerchantKey>00000-00000-00000-00000-00000</MerchantKey>
</Credentials>
<PaymentData>
<Source>Keyed</Source>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<BoardCardResponse xmlns="http://schemas.merchantwarehouse.com/merchantware/v45/">
<BoardCardResult>
<VaultToken>1000000000002WSZECPL</VaultToken>
<ErrorCode/>
<ErrorMessage/>
<Rfmiq>10000ABCDE</Rfmiq>
</BoardCardResult>
</BoardCardResponse>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
<soap:Body>
<BoardCard xmlns="http://schemas.merchantwarehouse.com/merchantware/v45/">
<Credentials>
<MerchantName>Zero Inc</MerchantName>
<MerchantSiteId>00000000</MerchantSiteId>
<MerchantKey>00000-00000-00000-00000-00000</MerchantKey>
</Credentials>
<PaymentData>
<Source>PreviousTransaction</Source>
<!--Previous Transaction Field-->
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<BoardCardResponse xmlns="http://schemas.merchantwarehouse.com/merchantware/v45/">
<BoardCardResult>
<VaultToken>138JK7U40X02WSZECPL</VaultToken>
<ErrorCode/>
<ErrorMessage/>
<Rfmiq>10000ABCDE</Rfmiq>
</BoardCardResult>
</BoardCardResponse>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
<soap:Body>
<BoardCard xmlns="http://schemas.merchantwarehouse.com/merchantware/v45/">
<Credentials>
<MerchantName>Zero Inc</MerchantName>
<MerchantSiteId>00000000</MerchantSiteId>
<MerchantKey>00000-00000-00000-00000-00000</MerchantKey>
</Credentials>
<PaymentData>
<Source>READER</Source>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<BoardCardResponse xmlns="http://schemas.merchantwarehouse.com/merchantware/v45/">
<BoardCardResult>
<VaultToken>127MMEIIQVEW2WSZECPL</VaultToken>
<ErrorCode/>
<ErrorMessage/>
<Rfmiq>10000ABCDE</Rfmiq>
</BoardCardResult>
</BoardCardResponse>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
<soap:Body>
<BoardCard xmlns="http://schemas.merchantwarehouse.com/merchantware/v45/">
<Credentials>
<MerchantName>Zero Inc</MerchantName>
<MerchantSiteId>00000000</MerchantSiteId>
<MerchantKey>00000-00000-00000-00000-00000</MerchantKey>
</Credentials>
<PaymentData>
<Source>Vault</Source>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<BoardCardResponse xmlns="http://schemas.merchantwarehouse.com/merchantware/v45/">
<BoardCardResult>
<VaultToken>127MMEIIQVEW2WSZECPL</VaultToken>
<ErrorCode/>
<ErrorMessage/>
<Rfmiq>10000ABCDE</Rfmiq>
</BoardCardResult>
</BoardCardResponse>
The Capture web method completes a transaction for a prior authorization.
| Name | Type | Description |
|---|---|---|
| Credentials | MerchantCredentials | A MerchantCredentials object used to authenticate against Merchantware. |
| Request | CaptureRequest | A CaptureRequest object containing the transactional data used capture a previous authorization and place it into the batch. |
A TransactionResponse45 object is returned.
This method captures a previous authorization and adds it to the current batch for settlement.
If you wish to cancel a transaction created with the Capture method, you may use the Void method. However, a transaction cannot be cancelled once it has been batched.
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
<soap:Body>
<Capture xmlns="http://schemas.merchantwarehouse.com/merchantware/v45/">
<Credentials>
<MerchantName>Zero Inc</MerchantName>
<MerchantSiteId>00000000</MerchantSiteId>
<MerchantKey>00000-00000-00000-00000-00000</MerchantKey>
</Credentials>
<Request>
<Token>608939</Token>
<Amount>1.50</
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<CaptureResponse xmlns="http://schemas.merchantwarehouse.com/merchantware/v45/">
<CaptureResult>
<ApprovalStatus>APPROVED</ApprovalStatus>
<Token>608961</Token>
<AuthorizationCode>OK036C</AuthorizationCode>
<TransactionDate>3/14/2016 8:09:31 PM</TransactionDate>
<Amount>1.50</Amount>
The FindBoardedCard method retrieves the payment data stored inside the Merchantware Vault.
| Name | Type | Description |
|---|---|---|
| Credentials | MerchantCredentials | A MerchantCredentials object used to authenticate against Merchantware. |
| Request | VaultTokenRequest | A VaultTokenRequest object used to retrieve information about a boarded card from the vault. |
A VaultTokenResponse45 object is returned.
Any returned sensitive information (such as credit card numbers) will be masked and/or truncated.
Any value passed into the vault token field is case-insensitive.
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
<soap:Body>
<FindBoardedCard xmlns="http://schemas.merchantwarehouse.com/merchantware/v45/">
<Credentials>
<MerchantName>Zero Inc</MerchantName>
<MerchantSiteId>00000000</MerchantSiteId>
<MerchantKey>00000-00000-00000-00000-00000</MerchantKey>
</Credentials>
<Request>
<VaultToken>127MMEIIQVEW2WSZECPL</VaultToken>
</Request>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<FindBoardedCardResponse xmlns="http://schemas.merchantwarehouse.com/merchantware/v45/">
<FindBoardedCardResult>
<CardNumber>0026</CardNumber>
<ExpirationDate>1218</ExpirationDate>
<Cardholder/>
<CardType>4</CardType>
<AvsStreetAddress>1 Federal Street</AvsStreetAddress>
<
The UpdateBoardedCard method changes the expiration date for an existing payment method stored inside the Merchantware Vault.
| Live Endpoint | https://ps1.merchantware.net/MerchantWare/ws/RetailTransaction/v45/Credit.asmx?op=UpdateBoardedCard |
| Name | Type | Description |
|---|---|---|
| Credentials | MerchantCredentials | A MerchantCredentials object used to authenticate against Merchantware. |
| Result | UpdateBoardedCardRequest | An UpdateBoardedCardRequest object used to update a token from the vault. |
A VaultBoardingResponse45 object is returned.
Any returned sensitive information (such as credit card numbers) will be masked and/or truncated.
Any value passed into the vault token field is case-insensitive.
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<UpdateBoardedCard xmlns="http://schemas.merchantwarehouse.com/merchantware/v45/">
<Credentials>
<MerchantName>Zero Inc</MerchantName>
<MerchantSiteId>00000000</MerchantSiteId>
<MerchantKey>00000-00000-00000-00000-00000</MerchantKey>
</Credentials>
<Request>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<UpdateBoardedCardResponse xmlns="http://schemas.merchantwarehouse.com/merchantware/v45/">
<UpdateBoardedCardResult>
<VaultToken>127MMEIIQVEW2WSZECPL</VaultToken>
<ErrorCode/>
<ErrorMessage/>
</UpdateBoardedCardResult>
</UpdateBoardedCardResponse>
</soap:Body>
</soap:EnvelopeThe ForceCapture web method forces a charge to be issued upon a customer’s credit card.
| Name | Type | Description |
|---|---|---|
| Credentials | MerchantCredentials | A MerchantCredentials object used to authenticate against Merchantware. |
| PaymentData | PaymentData | A PaymentData object containing the payment |
| Request | ForceCaptureRequest | A ForceCaptureRequest object containing the transactional data used capture a voice authorization and place it into the batch. |
A TransactionResponse45 object is returned.
Keyed
This method should only be used as a backup to charge a credit card if you are unable to obtain an approval through a normal sale. The authorization code is required for this method, and will typically be received by a voice authorization over the phone.
Forced transactions ALWAYS DOWNGRADE on rates and fees at the processor. If you make this the default charge method in your application, your merchants will end up paying significantly higher transaction rates and fees.
Ideally, you would only use this method as a last resort, or as a follow-up to a REFERRAL notice on a prior sale attempt.
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
<soap:Body>
<ForceCapture xmlns="http://schemas.merchantwarehouse.com/merchantware/v45/">
<Credentials>
<MerchantName>Zero Inc</MerchantName>
<MerchantSiteId>00000000</MerchantSiteId>
<MerchantKey>00000-00000-00000-00000-00000</MerchantKey>
</Credentials>
<PaymentData>
<Source>Keyed</Source>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<ForceCaptureResponse xmlns="http://schemas.merchantwarehouse.com/merchantware/v45/">
<ForceCaptureResult>
<ApprovalStatus>APPROVED</ApprovalStatus>
<Token>608962</Token>
<AuthorizationCode>V00546C</AuthorizationCode>
<TransactionDate>3/14/2016 8:11:01 PM</TransactionDate>
<Amount>3.06</Amount>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
<soap:Body>
<ForceCapture xmlns="http://schemas.merchantwarehouse.com/merchantware/v45/">
<Credentials>
<MerchantName>Zero Inc</MerchantName>
<MerchantSiteId>00000000</MerchantSiteId>
<MerchantKey>00000-00000-00000-00000-00000</MerchantKey>
</Credentials>
<PaymentData>
<Source>Keyed</Source>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<ForceCaptureResponse xmlns="http://schemas.merchantwarehouse.com/merchantware/v45/">
<ForceCaptureResult>
<ApprovalStatus>APPROVED</ApprovalStatus>
<Token>608962</Token>
<AuthorizationCode>V00546C</AuthorizationCode>
<TransactionDate>3/14/2016 8:11:01 PM</TransactionDate>
<Amount>3.06</Amount>
The Refund method issues a credit card refund to a customer.
| Name | Type | Description |
|---|---|---|
| Credentials | MerchantCredentials | A MerchantCredentials object used to authenticate against Merchantware. |
| PaymentData | PaymentData | A PaymentData object containing the payment details of the card used to process the transaction. |
| Request | RefundRequest | A RefundRequest object containing the transactional data used to perform a refund. |
A TransactionResponse45 object is returned.
Reader, Keyed, Vault, PreviousTransaction
Credit refunds can be partial and are specified by the amount parameter.
The lookup can only be performed using the token from a previous transaction.
This method issues a refund to a credit or debit card from a prior sale transaction. While it is possible to set a custom amount, this method is limited to the original amount of the sale transaction by default. It is possible to enable an override on a per account basis so that refunds for higher than the original amount can be made. No on-hand credit card information is required to use this method.
For example, with a prior sale for $10.00, you may reuse the token from that sale transaction to issue refunds up until the original total has been met, whether all at once ($10.00) or over several transactions ($5.00, $3.00, $2.00). Unless the account has had refunds for higher than the original amount enabled.
This method is useful in cases where you need to return money to a credit card and you have already batched the original sale. Using this method allows you to better support your customers without having to store card data.
On the other hand, if the original sale has not been batched yet, it is better to void the sale to return money or undo a transaction, as this will prevent activity at the processor and thus avoid incurring transaction fees.
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
<soap:Body>
<Refund xmlns="http://schemas.merchantwarehouse.com/merchantware/v45/">
<Credentials>
<MerchantName>Zero Inc</MerchantName>
<MerchantSiteId>00000000</MerchantSiteId>
<MerchantKey>00000-00000-00000-00000-00000</MerchantKey>
</Credentials>
<PaymentData>
<Source>Keyed</Source>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<RefundResponse xmlns="http://schemas.merchantwarehouse.com/merchantware/v45/">
<RefundResult>
<ApprovalStatus>APPROVED</ApprovalStatus>
<Token>608963</Token>
<AuthorizationCode/>
<TransactionDate>3/14/2016 8:12:50 PM</TransactionDate>
<Amount>4.01</Amount>
<
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
<soap:Body>
<Refund xmlns="http://schemas.merchantwarehouse.com/merchantware/v45/">
<Credentials>
<MerchantName>Zero Inc</MerchantName>
<MerchantSiteId>00000000</MerchantSiteId>
<MerchantKey>00000-00000-00000-00000-00000</MerchantKey>
</Credentials>
<PaymentData>
<Source>Keyed</Source>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<RefundResponse xmlns="http://schemas.merchantwarehouse.com/merchantware/v45/">
<RefundResult>
<ApprovalStatus>APPROVED</ApprovalStatus>
<Token>608963</Token>
<AuthorizationCode/>
<TransactionDate>3/14/2016 8:12:50 PM</TransactionDate>
<Amount>4.01</Amount>
<
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
<soap:Body>
<Refund xmlns="http://schemas.merchantwarehouse.com/merchantware/v45/">
<Credentials>
<MerchantName>Zero Inc</MerchantName>
<MerchantSiteId>00000000</MerchantSiteId>
<MerchantKey>00000-00000-00000-00000-00000</MerchantKey>
</Credentials>
<PaymentData>
<Source>PreviousTransaction</Source>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<RefundResponse xmlns="http://schemas.merchantwarehouse.com/merchantware/v45/">
<RefundResult>
<ApprovalStatus>APPROVED</ApprovalStatus>
<Token>608964</Token>
<AuthorizationCode>OK775C</AuthorizationCode>
<TransactionDate>3/14/2016 8:13:13 PM</TransactionDate>
<Amount/>
<
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
<soap:Body>
<Refund xmlns="http://schemas.merchantwarehouse.com/merchantware/v45/">
<Credentials>
<MerchantName>Zero Inc</MerchantName>
<MerchantSiteId>00000000</MerchantSiteId>
<MerchantKey>00000-00000-00000-00000-00000</MerchantKey>
</Credentials>
<PaymentData>
<Source>READER</Source>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<RefundResponse xmlns="http://schemas.merchantwarehouse.com/merchantware/v45/">
<RefundResult>
<ApprovalStatus>APPROVED</ApprovalStatus>
<Token>608967</Token>
<AuthorizationCode/>
<TransactionDate>3/14/2016 8:15:59 PM</TransactionDate>
<Amount>1.48</Amount>
<
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
<soap:Body>
<Refund xmlns="http://schemas.merchantwarehouse.com/merchantware/v45/">
<Credentials>
<MerchantName>Zero Inc</MerchantName>
<MerchantSiteId>00000000</MerchantSiteId>
<MerchantKey>00000-00000-00000-00000-00000</MerchantKey>
</Credentials>
<PaymentData>
<Source>Vault</Source>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<RefundResponse xmlns="http://schemas.merchantwarehouse.com/merchantware/v45/">
<RefundResult>
<ApprovalStatus>APPROVED</ApprovalStatus>
<Token>822621046</Token>
<AuthorizationCode>OK9999</AuthorizationCode>
<TransactionDate>9/5/2017 5:46:30 PM</TransactionDate>
<Amount>1.83</Amount>
The Sale method charges a credit or debit card.
| Name | Type | Description |
|---|---|---|
| Credentials | MerchantCredentials | A MerchantCredentials object used to authenticate against Merchantware. |
| PaymentData | PaymentData | A PaymentData object containing the payment details of the card used to process the transaction. |
| Request | SaleRequest | A SaleRequest object containing the transactional data used to perform a sale. |
A TransactionResponse45 object is returned.
Reader, Keyed, Vault, Wallet
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
<soap:Body>
<Sale xmlns="http://schemas.merchantwarehouse.com/merchantware/v45/">
<Credentials>
<MerchantName>Zero Inc</MerchantName>
<MerchantSiteId>00000000</MerchantSiteId>
<MerchantKey>00000-00000-00000-00000-00000</MerchantKey>
</Credentials>
<PaymentData>
<Source>Keyed</Source>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<SaleResponse xmlns="http://schemas.merchantwarehouse.com/merchantware/v45/">
<SaleResult>
<ApprovalStatus>APPROVED</ApprovalStatus>
<Token>608957</Token>
<AuthorizationCode>OK775C</AuthorizationCode>
<TransactionDate>3/14/2016 7:57:22 PM</TransactionDate>
<Amount>1.05</Amount>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
<soap:Body>
<Sale xmlns="http://schemas.merchantwarehouse.com/merchantware/v45/">
<Credentials>
<MerchantName>Zero Inc</MerchantName>
<MerchantSiteId>00000000</MerchantSiteId>
<MerchantKey>00000-00000-00000-00000-00000</MerchantKey>
</Credentials>
<PaymentData>
<Source>Keyed</Source>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<SaleResponse xmlns="http://schemas.merchantwarehouse.com/merchantware/v45/">
<SaleResult>
<ApprovalStatus>APPROVED</ApprovalStatus>
<Token>608957</Token>
<AuthorizationCode>OK775C</AuthorizationCode>
<TransactionDate>3/14/2016 7:57:22 PM</TransactionDate>
<Amount>1.05</Amount>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
<soap:Body>
<Sale xmlns="http://schemas.merchantwarehouse.com/merchantware/v45/">
<Credentials>
<MerchantName>Zero Inc</MerchantName>
<MerchantSiteId>00000000</MerchantSiteId>
<MerchantKey>00000-00000-00000-00000-00000</MerchantKey>
</Credentials>
<PaymentData>
<Source>READER</Source>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<SaleResponse xmlns="http://schemas.merchantwarehouse.com/merchantware/v45/">
<SaleResult>
<ApprovalStatus>APPROVED</ApprovalStatus>
<Token>608970</Token>
<AuthorizationCode>OK820C</AuthorizationCode>
<TransactionDate>3/14/2016 8:22:23 PM</TransactionDate>
<Amount>1.29</Amount>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
<soap:Body>
<Sale xmlns="http://schemas.merchantwarehouse.com/merchantware/v45/">
<Credentials>
<MerchantName>Zero Inc</MerchantName>
<MerchantSiteId>00000000</MerchantSiteId>
<MerchantKey>00000-00000-00000-00000-00000</MerchantKey>
</Credentials>
<PaymentData>
<Source>Vault</Source>
<AvsStreetAddress>1 Federal Street</
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<SaleResponse xmlns="http://schemas.merchantwarehouse.com/merchantware/v45/">
<SaleResult>
<ApprovalStatus>APPROVED</ApprovalStatus>
<Token>608969</Token>
<AuthorizationCode>OK818C</AuthorizationCode>
<TransactionDate>3/14/2016 8:22:13 PM</TransactionDate>
<Amount>1.83</Amount>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
<soap:Body>
<Sale xmlns="http://schemas.merchantwarehouse.com/merchantware/v45/">
<Credentials>
<MerchantName>Zero Inc</MerchantName>
<MerchantSiteId>00000000</MerchantSiteId>
<MerchantKey>00000-00000-00000-00000-00000</MerchantKey>
</Credentials>
<PaymentData>
<Source>Keyed</Source>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<SaleResponse xmlns="http://schemas.merchantwarehouse.com/merchantware/v45/">
<SaleResult>
<ApprovalStatus>APPROVED</ApprovalStatus>
<Token>609015</Token>
<AuthorizationCode>OK775C</AuthorizationCode>
<TransactionDate>3/14/2016 7:57:22 PM</TransactionDate>
<Amount>1.05</Amount>
**Note:**Amount is not included in the SaleRequest object for Apple Pay. It is part of the EncryptedPaymentData.
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns="http://schemas.merchantwarehouse.com/merchantware/v45/">
<soap:Header/>
<soap:Body>
<Sale>
<Credentials>
<MerchantName>TEST</MerchantName>
<MerchantSiteId>111111111</MerchantSiteId>
<MerchantKey>11111-11111-11111-11111-11111</MerchantKey>
</Credentials>
<PaymentData>
<Source>Wallet</Source>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns="http://schemas.merchantwarehouse.com/merchantware/v45/">
<soap:Header/>
<soap:Body>
<Sale >
<Credentials>
<MerchantName>TEFTestProcExtRetail</MerchantName>
<MerchantSiteId>P5HGEXGJ</MerchantSiteId>
<MerchantKey>V0JVV-AO0LT-U8AIB-14URM-10QE7</MerchantKey>
</Credentials>
<PaymentData>
<Source>Wallet</Source>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<SaleResponse xmlns="http://schemas.merchantwarehouse.com/merchantware/v45/">
<SaleResult>
<ApprovalStatus>APPROVED</ApprovalStatus>
<Token>600003478</Token>
<AuthorizationCode>OK9999</AuthorizationCode>
<TransactionDate>10/9/2017 6:34:49 PM</TransactionDate>
<Amount>1.00</Amount>
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
<soap:Body>
<Sale xmlns="http://schemas.merchantwarehouse.com/merchantware/v45/">
<Credentials>
<MerchantName>Zero Inc</MerchantName>
<MerchantSiteId>00000000</MerchantSiteId>
<MerchantKey>00000-00000-00000-00000-00000</MerchantKey>
</Credentials>
<PaymentData>
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<SaleResponse>
<SaleResult>
<ApprovalStatus>APPROVED</ApprovalStatus>
<Token>123456789</Token>
<AuthorizationCode>OK9999</AuthorizationCode>
<TransactionDate>3/14/2018 7:57:22 PM</
The SettleBatch method batches out a merchant’s outstanding transactions for settlement.
| Name | Type | Description |
|---|---|---|
| Credentials | MerchantCredentials | A MerchantCredentials object used to authenticate against Merchantware. |
A BatchResponse45 object is returned.
Please note that it is possible for a batch to return a negative settlement amount.
Avoid batching more than once a day unless the merchant's account or business rules require it. Almost all merchant accounts incur a fee when an account batch is settled, and merchant accounts typically require only one batch per 24 hours.
Conversely, some merchant accounts may already be setup to automatically batch. However, you should not explicitly avoid writing code to batch out an account. Most merchant accounts are not setup this way, and there may be times when your merchant needs to settle before a typical end-of-day.
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
<soap:Body>
<SettleBatch xmlns="http://schemas.merchantwarehouse.com/merchantware/v45/">
<Credentials>
<MerchantName>Zero Inc</MerchantName>
<MerchantSiteId>00000000</MerchantSiteId>
<MerchantKey>00000-00000-00000-00000-00000</MerchantKey>
</Credentials>
</SettleBatch>
</soap:Body>
</soap:Envelope><soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<SettleBatchResponse xmlns="http://schemas.merchantwarehouse.com/merchantware/v45/">
<SettleBatchResult>
<BatchStatus>SUCCESS</BatchStatus>
<AuthorizationCode>0314160001</AuthorizationCode>
<BatchAmount>2.19</BatchAmount>
<TransactionCount>8</TransactionCount>
<TransactionDate>3/14/2016 8:28:30 PM</TransactionDate>
The UnboardCard method removes existing payment information from the Merchantware Vault.
| Name | Type | Description |
|---|---|---|
| Credentials | MerchantCredentials | A MerchantCredentials object used to authenticate against Merchantware. |
| Request | VaultTokenRequest | A VaultTokenRequest object used to remove a token from the vault. |
A VaultBoardingResponse45 object is returned.
Any value passed into the vault token field is case-insensitive.
Any returned sensitive information (such as credit card numbers) will be masked and/or truncated.
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
<soap:Header/>
<soap:Body>
<UnboardCard xmlns="http://schemas.merchantwarehouse.com/merchantware/v45/">
<Credentials>
<MerchantName>Zero Inc</MerchantName>
<MerchantSiteId>00000000</MerchantSiteId>
<MerchantKey>00000-00000-00000-00000-00000</MerchantKey>
</Credentials>
<Request>
<VaultToken>MYTOKENVALUEX</VaultToken>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<UnboardCardResponse xmlns="http://schemas.merchantwarehouse.com/merchantware/v45/">
<UnboardCardResult>
<VaultToken>MYTOKENVALUEX</VaultToken>
<ErrorCode/>
<ErrorMessage/>
</UnboardCardResult>
</UnboardCardResponse>
</soap:Body>
</soap:EnvelopeThe Void method voids a prior unsettled transaction.
| Name | Type | Description |
|---|---|---|
| Credentials | MerchantCredentials | A MerchantCredentials object used to authenticate against Merchantware. |
| Request | VoidRequest | A VoidRequest object containing the transactional data used to void a previous transaction. |
A TransactionResponse45 object is returned.
This removes a transaction from the current batch. It is not possible to void a transaction settled in a previous batch.
For more guidance, see our Best Practices guide on Void Failure Handling.
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
<soap:Header/>
<soap:Body>
<Void xmlns="http://schemas.merchantwarehouse.com/merchantware/v45/">
<Credentials>
<MerchantName>Zero Inc</MerchantName>
<MerchantSiteId>00000000</MerchantSiteId>
<MerchantKey>00000-00000-00000-00000-00000</MerchantKey>
</Credentials>
<Request>
<Token>608973</Token>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<VoidResponse xmlns="http://schemas.merchantwarehouse.com/merchantware/v45/">
<VoidResult>
<ApprovalStatus>APPROVED</ApprovalStatus>
<Token>608974</Token>
<AuthorizationCode>VOID</AuthorizationCode>
<TransactionDate>3/14/2016 8:30:18 PM</TransactionDate>
<Amount/>
<
| 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-100 | 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 pinpad device. |
| PinKsn | String | 0-100 | READER | The key serial number (KSN) associated with the PIN block received from a pinpad device. |
| ReaderEntryMode | String | 0-100 | 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, 5, or 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. |
| VaultToken | String | 1-40 | VAULT | The token used to identify the payment method within the Merchantware Vault. |
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 Identifierused to uniquely identify the terminal to the processor. |
| MerchantTransactionId | String | 0-100 | The merchant-defined identifier for the transaction. |
| RegisterNumber | String | 0-100 | The identifier for the register or point of sale device submitting the transaction. |
| EcommerceTransactionIndicator | String | 0-3 | This field has been deprecated. Do not use. |
| Invoice | Object | - | An optional field that you use to specify various data the merchant needs to include for level three processing-rates. |
| Name | Type | Size | Description |
|---|---|---|---|
| MerchantDefinedToken | String | 0-40 | This field is no longer supported. |
| 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-100 | The identifier for the register or point of sale device submitting the transaction. |
| MerchantTransactionId | String | 0-100 | The merchant-defined identifier for the transaction. |
| CardAcceptorTerminalId | String (Numeric) | 0-16 | The Mastercard Card Acceptor Terminal Identifierused to uniquely identify the terminal to the processor. |
| Name | Type | Size | Description |
|---|---|---|---|
| VaultToken | String | 1-40 | The token used to identify the payment method within the Merchantware Vault. |
| ExpirationDate | String | 4 | The new expiration date of the payment card in MMYY format. |
| 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-100 | The identifier for the register or point of sale device submitting the transaction. |
| MerchantTransactionId | String | 0-100 | The merchant-defined identifier for the transaction. |
| CardAcceptorTerminalId | String (Numeric) | 0-16 | The Mastercard Card Acceptor Terminal Identifierused to uniquely identify the terminal to the processor. |
| EcommerceTransactionIndicator | String | 0-3 | This field has been deprecated. Do not use. |
| Name | Type | Size | Description |
|---|---|---|---|
| TaxIndicator | - | - | 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 | 0-(9,4) | The number of units that the line item contains. Units for the line item are specified in the UnitOfMeasure field. |
| 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 | - | An indicator of whether the line item is a credit or a debit. Values are: * Credit * Debit |
| NetOrGrossIndicator | String | - | An indicator of whether the line item includes tax (gross) or excludes tax (net). Values are: * Net * Gross |
| 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-100 | The identifier for the register or point of sale device 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. |
| EcommerceTransactionIndicator | String | 0-3 | This field has been deprecated. Do not use. |
The amount of the refund is not specified when performing a refund against a previous transaction, the full amount of the previous transaction is refunded.
| 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 | The optional surcharge fee or amount charged for the transaction when performing sales using a debit card. |
| TaxAmount | String (Double) | 0-100 | The declared tax amount of the transaction. |
| HealthCareAmountDetails | HealthCareAmountDetails | (Not Required) | 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-100 | The identifier for the register or point of sale device 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. |
| EnablePartialAuthorization | String (bool) | 0-5 | Allow for only part of the total Amount to be authorized during the sale. |
| ForceDuplicate | String (bool) | 0-5 | Overrides duplicate protection and allow the transaction to process normally. |
| EcommerceTransactionIndicator | String | 0-3 | This field has been deprecated. Do not use. |
| Invoice | Object | - | An optional field that you use to specify various data the merchant needs to include for level three processing-rates. |
The ForceDuplicate flag may be left blank if desired. Duplicate transaction behavior defaults to what was specified when the merchant's account was boarded.
The EnablePartialAuthorization flag may be left blank if desired. If set to false or left unspecified, the transaction will decline if the full requested amount cannot be captured.
| Name | Type | Size | Description |
|---|---|---|---|
| Token | String | 1-100 | The token identifier returned from a previous transaction. |
| VectorImageData | String | 1-20000 | The encoded coordinates defining the drawn ligatures of the signature. |
This VectorImageData 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-100 | 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. |
The BatchStatus45 response encapsulates the results of a retail batch operation in Merchantware.
| 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. |
SettleBatch
The SignatureResponse45 contains information about a signature appended to an existing transaction record.
| 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. |
AttachSignature
| 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. |
| FraudScoring | String | 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 * Can be or |
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. |
BoardCard, UnboardCard, UpdateBoardedCard
| Name | Type | Description |
|---|---|---|
| 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. |
| 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. |
FindBoardedCard
| Value | Name | Description |
|---|---|---|
| 0 | Unknown | This value is reserved. |
| 1 | Keyed | A transaction submitted by manually entering the card information. |
| 2 | Magneticstripe | A transaction submitted from data swiped through a magnetic stripe reader. |
| 3 | Capture | A transaction is a capture from a previous transaction or a forced capture. |
| 4 | Proximity | A transaction submitted from a contactless reader. |
| 6 | ICC | A transaction submitted from data using an integrated circuit card. |
| 7 | ContactlessMobileCommerce | A transaction submitted from a digital wallet to an electronic commerce website or mobile application. |
| Value | Name |
|---|---|
| 0 | Unknown |
| 1 | American Express |
| 2 | Discover |
| 3 | Mastercard |
| 4 | Visa |
| 5 | Debit |
| 6 | EBT |
| 7 | Giftcard |
| 8 | Wright Express (Fleet Card) |
| 9 | Voyager (Fleet Card / USBank Issued) |
| 10 | JCB |
| 11 | China Union Pay |
| Code | Description |
|---|---|
| X | Exact: Address and nine-digit Zip match. |
| Y | Yes: Address and five-digit Zip match. |
| A | Address: Address matches, Zip does not. |
| Z | 5-digit Zip: 5-digit Zip matches, address doesn’t. |
| W | Whole Zip: 9-digit Zip matches, address doesn’t. |
| N | No: Neither address nor Zip matches. |
| U | Unavailable: Address information not available. |
| G | Unavailable: Address information not available for international transaction. |
| R | Retry: System unavailable or time-out. |
| E | Error: Transaction unintelligible for AVS or edit error found in the message that prevents AVS from being performed. |
| S | Not Supported: Issuer doesn’t support AVS service. |
| B | Street Match: Street addresses match for international transaction, but postal code doesn’t. (Visa only) |
| C | Street Address: Street addresses and postal code not verified for international transaction. (Visa only) |
| D | Match: Street addresses and postal codes match for international transaction. (Visa only) |
| I | Not Verified: Address Information not verified for International transaction. (Visa only) |
| M | Match: Street addresses and postal codes match for international transaction. (Visa only) |
| P | Postal Match: Postal codes match for international transaction, but street address doesn’t. (Visa only) |
| O | No response sent. |
| 5 | Invalid AVS response. |
| Code | Description |
|---|---|
| M | CVV2/CVC2/CID Match |
| Y | CVV2/CVC2/CID Match |
| N | CVV2/CVC2/CID No Match |
| P | Not Processed |
| S | Issuer indicates that the CV data should be present on the card, but the merchant has indicated that the CV data is not present on the card. |
| U | Unknown / Issuer has not certified for CV or issuer has not provided Visa/MasterCard with the CV encryption keys. |
| X | Server Provider did not respond. |
| WalletId |
| String |
| 8 |
| WALLET |
| The Identifier of the Wallet. Currently only supports the values "ApplePay" or "GooglePay" |
| PaymentCryptogram | String | 0-64 | WALLET | The base-64 encoded payment cryptogram accompanying an ecommerce wallet transasction. |
| PaymentCryptogramType | String | 3 | WALLET | The type of data represented in the payment cryptogram field. 3DS |
| 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 field from the PKPaymentToken object * Google Pay: Encode the token field from the paymentMethodTokenobject. |
| EciIndicator | String | 0-2 | WALLET | The electronic commerce indicator. A field that may accompany a wallet transaction. If present, this value must be passed. Otherwise, the transaction fails. Eci ValueDefinition 05This value indicates that the cardholder was verified by the issuer with cardholder’s password or identify information. When the cardholder was successfully authenticated by by 3D Secure payment, this value will appear. 07This value will be returned when users tried to make payment transaction over a secure channel but the 3D authentication was unsuccessful, for instance, when the payment authentication was not performed, or when the issuer responded that authentication could not be performed. |
| 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. |