MosoPay Real-Time HTTPs Integration-Message Formatting


				

Contents

Overview

This page is a detailed listing of the Message Formats used in the MosoPay Real-Time HTTPs Integration.

Usage:

  • R – Required in request/always present in response for ACH transactions and credit card transactions of all levels (I, II, III).
  • R2 – Required in request/always present in response for credit card transactions of level II and III only; optional for ACH and level I credit card transactions.
  • R3 – Required in request/always present in response for credit card transactions of III only; optional for ACH and level I, II credit card transactions.
  • O – Optional in request/not always present in response
  • C – Conditionally required; if token value is supplied, account information is not needed; if trackData is supplied, address information is not needed.
  • * – Required fields in these specific sections are only required if this specific feature is used.

Authorization, Sale and Credit Request

Name Type Possible values / Format Usage Description
requestType String sale-auth, sale, credit-auth, credit R
userName String R Provided by gateway owner
password String R Provided by gateway owner
merchantAccountCode Integer R Provided by gateway owner
accountAccessory String R expDate or routing number
accountNumber String C Credit card number or bank account number
accountType String R – credit card; C – checking; S - savings R
holderName String (optional if trakData is present) C
holderType String P – person; O - organization (optional if trakData is present)C
street String (optional if trakData is present) C
city String (optional if trakData is present) C
state String O
zipCode String (optional if trakData is present) C
phone String (digits only; no special chars) O
email String O
cvv2 String O
cvv2Indicator String provided, not_provided, illegible, not_present O Explains whether cvv2 was provide and if not, why
trackData String (sale and authorization only) O
transactionCode String O Value identifying this transaction in submitter’s system
amount Integer R Amount in cents
taxAmount Integer O Amount of tax in cents included in amount field
feeAmount Integer authorization and sale only O Amount of service fee included in amount field. See additional notes
isPartialAuthorization Boolean 1 - true, 0 - false: Default = 0 O If set to true, partial authorization will happen when full authorization amount is not available. See Additional Notes
transactionIndustryTypeString Possible Values R
itemCode String O May include product/service code in submitter’s system for which this payment is taken
memo String O Notes
customerAccountCode String O Value identifying customer in submitter’s system
token String C token value replacing accountNumber

Authorization, Sale or Credit Response

Name Type Possible values / Format Usage Description
responseType String authorization, sale, credit R
merchantAccountCode Integer R (echo back)
transactionCode String O (echo back)
transactionDate Date yyyymmdd R Post date of the transaction
referenceNumber String R Transaction identification in gateway
responseCode String R Gateway generated response code
responseMessage String R Gateway generated response message
avsResponseCode String O Address verification code
processorCode String O Authorization number issued by the processor; often shown on credit card receipt
token String C Token generated for the provided payment information

Capture and Void/Refund Request

Name Type Possible values / Format Usage Description
requestType String capture, void, refund R
userName String R Provided by gateway owner
password String R Provided by gateway owner
merchantAccountCode Integer R Provided by gateway owner
referenceNumber String R Reference code of the transaction to be confirmed or voided
transactionCode String for void/refund only O Value identifying this transaction in submitter’s system
amount Integer for capture only O Amount that is to be captured; by default is equal to the original authorization amount, but can be set to a lower value. Used traditionally to handle tips in restaurants.

Capture and Void/Refund Response

Name Type Possible values / Format Usage Description
responseType String capture, void, refund R
merchantAccountCode Integer R (echo back)
referenceNumber String R Transaction identification in gateway
responseCode String R Gateway generated response code
responseMessage String R Gateway generated response message
transactionCode String O (echo back)

Return Callback Request

Name Type Possible values / Format Usage Description
requestType String decline, chargeback, reversal R
merchantAccountCode Integer R (echo back)
transactionCode String O (echo back from the original transaction)
transactionDate Date yyyymmdd R Date the return was posted
referenceNumber String R Transaction identification in gateway
responseCode String R Gateway generated response code
responseMessage String R Gateway generated response message

Return Callback Response

Name Type Possible values / Format Usage Description
responseType String decline, chargeback, reversal R
merchantAccountCode Integer R (echo back)
referenceNumber String R (echo back)

Tokenization Request

Name Type Possible values / Format Usage Description
requestType Stringtokenization R
userName String R Provided by gateway owner
password String R Provided by gateway owner
merchantAccountCode Integer R Provided by gateway owner
transactionCode String O Value identifying this transaction in submitter’s system
accountType StringR – credit card; C – checking; S - savings R
accountAccessory String R expiration date or routing number
accountNumber String R Credit card number or bank account number

Tokenization Response

Name Type Possible values / Format Usage Description
responseType Stringtokenization R
merchantAccountCode Integer R (echo back)
transactionCode String O (echo back)
token String C Token generated for the provided payment information

Export Request

Name Type Possible values / Format Usage Description
requestType String export R
userName String R Provided by gateway owner
password String R Provided by gateway owner
fromDate Date yyyymmdd R
toDate Date yyyymmdd R
zip String Y/N (default Y) O Whether to gzip the result or send as plain text (recommended on large files)

Exception Response

Name Type Possible values / Format Usage Description
responseType String exception R
errorCode Integer R
errorMessage String R

Additional Notes

Capture, Void and Refund Operation:

MosoPay provides an auto-settlement mechanism to all merchants. Settlement occurs once per day at the time designated by a merchant (usually at night). When settlement occurs, all sales processed the same day, as well as all captured authorizations are posted and the money is deposited. Consequently, Capture operations can be issued on authorization if, and only if, the settlement has not yet occurred. The same rule applies to voids issued on sales. If a merchant misses the settlement cut-off time, a new sale (in place of a Capture) or a new credit (in place of a Void) will have to be issued.

Capture operation can be used in cases when the authorization amount and capture amount are different e.g. it is customary in the restaurant business to authorize an additional 20% of the base bill amount to account for tip and then capture that specific amount, once the customer signs the receipt and indicates precise tip amount. Capture operation can be used in such cases to alter the original authorization amount. Capture amount cannot exceed authorization amount.

Void can reverse a sale or credit before settlement for the day occurs. Refund works for Sale transactions ONLY and behaves as a Void, but issues a credit transaction if settlement has already occurred. Consequently, Refund will always succeed in reversing any existing (non-refunded) sale transaction.

Service Fees:

Quite often, companies that process transactions on behalf of other organizations may require that they explicitly indicate that the payment amount includes a certain part that constitutes service fees.

For example, a $105 sale is processed, $5 of which represents service fees that the company submitter wants to withhold when the deposits get remitted to the organization on behalf of which the transaction was done (e.g. organization gets $100 and submitter keeps a $5 service fee).

In order to accommodate these needs, Sale operation provides a feeAmount field, which should contain the amount of the processing fee that the submitter wants to withhold from remittance. (NOTE: based on merchant configurations, actual processing/interchange fee will be deducted either from the amount remitted to the organization beneficiary or from the service fee amount of the submitter.)

Callbacks:

Merchants who would like to be notified in real time when a credit card chargeback or an ACH decline occurs can provide a callback URL to which MosoPay will post a response with appropriate information.

The callback page will normally extract the information sent by MosoPay through HTTP parameters, execute appropriate business logic, and "echo back" the referenceNumber to confirm successful callback consumption. MosoPay will repeat callback posting unless a successful response (echo back) is received.

Once a chargeback has occurred, it may still be possible for it to be reversed and the money returned back to the merchant. Therefore, it is important not only to handle chargebacks, but also deal appropriately with reversals.

Transaction Export:

As an alternative to callback notifications, MosoPay provides a way for merchants to load the response history of all transactions that were processed. Using the export request format, a merchant can request a history of returns (bank account returns, chargebacks and reversals) that occurred during the specified time period. The result is a pipe (|) delimited file (gzip or plain text) with the column names corresponding to fields in Return Callback Response Fields format. Merchants can use this operation for auditing purposes or if they feel that the callbacks logic on their end may have malfunctioned.

NOTE: To avoid performance issues, the date range for export should not exceed a one month period.

Related Information

MosoPay

MosoPay Real-Time HTTPs Integration
MosoPay Real-Time HTTPs Integration-Message Formatting
MosoPay Batch FTPs Integration
MosoPay Response Codes
Response Codes & Reversal Reason Mappings


System Configuration
The MosoMRM User Interface
The MosoMRM Glossary
Setting Up Your MosoMRM System