Download OpenAPI specification:Download
Production documentation for ReST API version 1. Please see our version 2 BETA API documentation. The version 2 API is available for testing now on the tester server. The version 1 API remains will continue to work even after the version 2 API is released to production.
This API utilizes robust key/value pairs for flexibility. To make transport easier, all pairs are comprised of strings.
Internally, all keys are a flat list and are not hierarchical. Throughout the documentation, parameters may be grouped together under a named object. The object name is not evaluated when processing the request. All key/value pairs are moved to the top level.
Parameter grouping is present simply to make it easier to understand the relationship between parameters. The parameters themselves do not need to be part of the documented object they may be under.
With ReST, a HTTP 200 repsonse code will be returned for all transactions.
The response parameters code, msoft_code, and phard_code are used
to determine the transaction outcome.
A value denoting a time can take on one of two different types:
Formatted times can either be a fixed time or based on an offset. The time zone for the date is the merchant's timezone.
Fixed formats are very similar to written dates and times.
Formats:
Offsets take this format:
+ or -
  magnitude
  space
  modifierModifiers:
+1 day
-5 yearsnow - current date/timeepoch - Unix timestamp of 0 = Jan 1, 1970 00:00:00 UTCAny keys that end with _ts, such as last_modified_ts, are a Unix timestamp.
A Unix timestamp is the number of seconds since Jan 1, 1970 00:00:00 UTC.
That date and time is called the "epoch", and its value is 0.
Unix timestamps are always in UTC time and do not have a time zone.
A test server with a public test account is provided to help integrators quickly get started.
Server: https://test.transafe.com
Username: test_retail:public
Password: publ1ct3st
If a private test account is needed please contact us.
Only HTTP Basic authentication is currently supported.
The TranSafe username and password for the account setup to run transactions is used with this authentication method.
HTTP Basic Authentication involves sending the Authorization HTTP header with the
type Basic and the base64 encoded username:password.
E.g.
Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=If the authorization data is not present the response code 401 and
WWW-Authenticate header is returned in the response indicating the
authentication that must be used.
WWW-Authenticate: Basic realm="Payment Server Resource"Basic auth does not allow colons (':') to be present in usernames. However, most usernames for the system will include a colon. To deal with this, all colons must be replaced with a pipe ('|').
If a username contains a pipe, please contact support.
user:sub -> user|subFor example, take the username test_retail:public and a password of
publ1ct3st. Therefore, the username must be transformed to
test_retail|public, resulting in basic authentication data to be encoded of
test_retail|public:publ1ct3st.  The resulting Authentication header data
would be Authorization: Basic dGVzdF9yZXRhaWx8cHVibGljOnB1YmwxY3Qzc3Q=
We do not recommend using most programming language's build in credential
management APIs. Such as .Net's HTTPPasswordMgrWithDefaultRealm with
a HTTPBasicAuthHandler object. Or Python's NetworkCredential with the
CredentialCache. Instead we recommend sending the authorization data
directly/explicitly in the request header.
Using the language API credential management can increase the transaction processing time. Many language APIs will first send the request without authorization data. The server will respond with a 401 authorization data required response. The request will be sent a second time with the authorization data. The extra request that is known to fail adds additional and unnecessary, messaging which increases request processing time.
import urllib.request
import base64
URL = 'https://test.transafe.com/api/v1/report/failed'
USER = 'test_retail|public'
PASS = 'publ1ct3st'
auth_data = '%s:%s' % (USER, PASS)
auth_data = base64.b64encode(auth_data.encode()).decode('utf-8')
headers = {
    'Authorization': 'Basic %s' % auth_data
}
req = urllib.request.Request(URL, headers=headers)
with urllib.request.urlopen(req) as o:
    print(o.read().decode('utf-8'))
using System;
using System.IO;
using System.Net;
using System.Text;
class AuthExample
{
    static void Main(string[] args)
    {
        var url      = "https://test.transafe.com/api/v1/report/failed";
        var username = "test_retail|public";
        var password = "publ1ct3st";
        var authData = System.Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(username + ":" + password));
        // var json = 'json data to post'
        ServicePointManager.Expect100Continue = false;
        ServicePointManager.UseNagleAlgorithm = true;
        ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
        var request = WebRequest.Create(url);
        request.Method = "GET";
        request.Headers.Add("Authorization", "Basic " + authData);
        // # For POST
        //   request.ContentType   = "application/json";
        // # 'json' contains data to post
        //   request.ContentLength = json.Length;
        //   Stream requestStream  = request.GetRequestStream();
        //   requestStream.Write(Encoding.ASCII.GetBytes(json), 0, json.Length);
        //   requestStream.Close();
        using (var response = (HttpWebResponse)request.GetResponse()) {
            Console.WriteLine(response.StatusDescription);
            using (var dataStream = response.GetResponseStream()) {
                using (var reader = new StreamReader(dataStream)) {
                    Console.WriteLine(reader.ReadToEnd());
                }
            }
        }
    }
}
Using the language API credential management increase the transaction processing time. Using the language API will first send the request without authorization data. The server will respond with a 401 authorization data required response. The request will be sent a second time with the authorization data. The extra request that is known to fail adds additional and unnecessary, messaging which increases request processing time.
<?php
$url = "https://test.transafe.com/api/v1/report/failed";
$username = "test_retail|public";
$password = "publ1ct3st";
$opts = array(
  "http"=>array(
    "method"=>"GET",
    "header" => "Authorization: Basic " . base64_encode("$username:$password")
  ),
);
$context = stream_context_create($opts);
$file = file_get_contents($url, false, $context);
echo $file;
?>
Removes a previously authorized transaction in real time
The hold from the authorization will be removed from the customer's account.
Some card brands allow partial reversals where only part of the hold, not the entire transaction, is removed. This is beneficial in some industries such as E-commerce where an order might be changed before the transaction is completed.
libmonetra KVS equivalent for endpoint
action = reversal| ttid  required   | string  Transaction identifier  | 
| amount | string   Example:  amount=19.92 The final amount to be settled, NOT the amount to be reversed.  | 
curl -X DELETE 'https://test.transafe.com/api/v1/transaction/926573735405091' --basic -u 'test_retail|public:publ1ct3st'
{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved",
 - "phard_code": "SUCCESS",
 - "card_currency": "string",
 - "card_cardclass": "CREDIT",
 - "card_cardlevel": "string",
 - "card_country_code": "string",
 - "card_debit_network": "string",
 - "card_ebt_state": "string",
 - "card_fsa": "Y",
 - "card_funding_source": "CREDIT",
 - "card_issuer_bank": "string",
 - "card_msr_cvm": "sig",
 - "card_prepaid": "Y",
 - "card_reloadable": "Y",
 - "card_signature_debit": "Y",
 - "card_token_card": "Y",
 - "rcpt_host_ts": "string",
 - "rcpt_entry_mode": "G",
 - "rcpt_acct_type": "chequing",
 - "rcpt_emv_cvm": "none",
 - "rcpt_emv_pinbypass": "Y",
 - "rcpt_resp_code": "string",
 - "rcpt_issuer_resp_code": "string",
 - "rcpt_emv_aid": "string",
 - "rcpt_emv_name": "string",
 - "rcpt_emv_tvr": "string",
 - "rcpt_emv_tsi": "string",
 - "rcpt_emv_actype": "AAC",
 - "rcpt_emv_ac": "string",
 - "rcpt_emv_form_factor": "string",
 - "rcpt_custom": "string",
 - "rcpt_emv_iad": "string",
 - "rcpt_emv_card_decline": "string",
 - "printdata": "string",
 - "auth": "string",
 - "batch": "string",
 - "issuer_decline": "Y",
 - "item": "string",
 - "stan": "string",
 - "account": "XXXXXXXXXXXX1234",
 - "timestamp": "string",
 - "cardtype": "VISA",
 - "cardholdername": "John Doe",
 - "language": "en",
 - "pclevel": "0",
 - "ttid": "string"
 
}Gets fine-grained detail about a transaction
Includes all the fields returned from an original transaction response, as well as non-sensitive request data. Additionally, metadata about the transaction state is also returned. The result data is very verbose, and only fields that are relevant to making this call should be evaluated.
The most common use for this operation is re-printing receipts. All data needed
for receipts is returned as part of this request. Sending the rcpt parameter
will allow for formatted receipt data to also be returned.
libmonetra KVS equivalent for endpoint
action = adminadmin = trandetail| ttid  required   | string  Transaction identifier Cannot be combined with: 
  | 
| rcpt | string   Example:  rcpt=yes The  A value of  A value of  All other values are key/value pairs indicating formatting configurations, separated by semicolons, as in this example: Receipt configuration options: 
  | 
| rcpt_email | string  Email to send customer receipt copy to  Can be an email or   | 
| rcpt_sms | string  Send SMS for order invoices  Can be an phone number or   | 
| rcpt_duplicate | object  Enum: "yes" "no"    Example:  rcpt_duplicate=no Values: 
  | 
| rcpt_merch_copy | object  Enum: "yes" "no"    Example:  rcpt_merch_copy=yes Values: 
  | 
| order_id | string  Unique ID of an order Cannot be combined with: 
  | 
| payment_id | string  Unique ID of a payment for an order Requires: 
  | 
curl -X GET 'https://test.transafe.com/api/v1/transaction/926572778835889' --basic -u 'test_retail|public:publ1ct3st'
{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved",
 - "card_currency": "string",
 - "card_cardclass": "CREDIT",
 - "card_cardlevel": "string",
 - "card_country_code": "string",
 - "card_debit_network": "string",
 - "card_ebt_state": "string",
 - "card_fsa": "Y",
 - "card_funding_source": "CREDIT",
 - "card_issuer_bank": "string",
 - "card_msr_cvm": "sig",
 - "card_prepaid": "Y",
 - "card_reloadable": "Y",
 - "card_signature_debit": "Y",
 - "card_token_card": "Y",
 - "rcpt_host_ts": "string",
 - "rcpt_entry_mode": "G",
 - "rcpt_acct_type": "chequing",
 - "rcpt_emv_cvm": "none",
 - "rcpt_emv_pinbypass": "Y",
 - "rcpt_resp_code": "string",
 - "rcpt_issuer_resp_code": "string",
 - "rcpt_emv_aid": "string",
 - "rcpt_emv_name": "string",
 - "rcpt_emv_tvr": "string",
 - "rcpt_emv_tsi": "string",
 - "rcpt_emv_actype": "AAC",
 - "rcpt_emv_ac": "string",
 - "rcpt_emv_form_factor": "string",
 - "rcpt_custom": "string",
 - "rcpt_emv_iad": "string",
 - "rcpt_emv_card_decline": "string",
 - "printdata": "string",
 - "auth": "string",
 - "batch": "string",
 - "issuer_decline": "Y",
 - "item": "string",
 - "stan": "string",
 - "account": "XXXXXXXXXXXX1234",
 - "abaroute": "string",
 - "checknum": "string",
 - "accounttype": "BUSINESS",
 - "cardtype": "VISA",
 - "cardholdername": "John Doe",
 - "language": "en",
 - "pclevel": "0",
 - "cof_transid": "string",
 - "cof_authamount": "string",
 - "installment_num": "string",
 - "installment_total": "string",
 - "recurring": "recurring",
 - "avs": "GOOD",
 - "cv": "GOOD",
 - "shipcountry": "string",
 - "shipzip": "string",
 - "zip": "32606",
 - "action": "string",
 - "orig_code": "string",
 - "orig_msoft_code": "string",
 - "orig_phard_code": "string",
 - "orig_reqamount": "string",
 - "orig_verbiage": "string",
 - "merch_name": "string",
 - "merch_addr1": "string",
 - "merch_addr2": "string",
 - "merch_addr3": "string",
 - "merch_phone": "string",
 - "merch_email": "string",
 - "merch_url": "string",
 - "merch_proc": "string",
 - "custref": "55",
 - "ordernum": "A13DDES345",
 - "ptrannum": "1987",
 - "amount": "19.92",
 - "cashbackamount": "20.00",
 - "currency": "string",
 - "examount": "0.33",
 - "surchargeamount": "1.25",
 - "tax": "1.29",
 - "discountamount": "100.00",
 - "dutyamount": "5.07",
 - "freightamount": "225.82",
 - "bdate": "string",
 - "edate": "string",
 - "excharges": "REST",
 - "rate": "12.00",
 - "roomnum": "string",
 - "descmerch": "string",
 - "descloc": "string",
 - "clerkid": "string",
 - "stationid": "7",
 - "laneid": "4",
 - "comments": "string",
 - "divisionnum": "PAYROLL",
 - "expdate": "0129",
 - "healthcare": "yes",
 - "reversible": "yes",
 - "reversal_reason": "CLERKVOID",
 - "offline_decline": "string",
 - "tranflags": "HASAVS",
 - "txnstatus": "DECLINED",
 - "last_modified_ts": "string",
 - "order_id": "string",
 - "payment_id": "string",
 - "order_cash_discount": "string",
 - "order_cash_price": "string",
 - "order_noncash_price": "string",
 - "order_tip": "string",
 - "order_total": "string",
 - "order_tax": "string",
 - "order_discount": "string",
 - "detail_order_notes": "string",
 - "trans": "string",
 - "line_items": "string",
 - "ttid": "string",
 - "property1": "string",
 - "property2": "string"
 
}Modifies transaction data
This allows adding or modifying transaction parameters after authorization.
Not all parameters are required or known at the time of authorization, and some might change after the authorization is approved. For example, in E-commerce, the customer might change their shipping zip code.
This action can also edit fields that affect interchange rates (e.g tax, rate, and bdate/edate). If an interchange parameter is not known or finalized, it can be added or updated.
This process will only affect those transactions that are currently unsettled.
It should be used with captured transactions. This should not be used with
preauths that have not been completed. Those transactions should be adjusted
when issuing the corresponding preauthcomplete.
When dealing with changes to amounts, it is typically better to use a preauth
and preauthcomplete instead of adjusting a sale. WorldPay's 610 platform is
a special case where it is better to use sale and adjust.
libmonetra KVS equivalent for endpoint
action = adjust| ttid  required   | string  Transaction identifier  | 
object  Monetary parameters  | |
object  Lodging parameters  | |
object  Order detail parameters  | |
object  Shipping detail parameters  | |
object  Merchant lane parameters  | |
| property name* | string   | 
{- "money": {
- "amount": "19.92",
 - "cashbackamount": "20.00",
 - "currency": "string",
 - "examount": "0.33",
 - "surchargeamount": "1.25",
 - "tax": "1.29",
 - "discountamount": "100.00",
 - "dutyamount": "5.07",
 - "freightamount": "225.82"
 
}, - "lodging": {
- "advancedeposit": "yes",
 - "noshow": "yes",
 - "bdate": "string",
 - "edate": "string",
 - "excharges": "REST",
 - "rate": "12.00",
 - "roomnum": "string"
 
}, - "order": {
- "custref": "55",
 - "ordernum": "A13DDES345",
 - "ptrannum": "1987"
 
}, - "shipping": {
- "shipcountry": "str",
 - "shipzip": "string"
 
}, - "lane": {
- "clerkid": "string",
 - "stationid": "7",
 - "laneid": "4",
 - "comments": "string",
 - "divisionnum": "PAYROLL"
 
}, - "property1": "string",
 - "property2": "string"
 
}{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved",
 - "phard_code": "SUCCESS",
 - "card_currency": "string",
 - "card_cardclass": "CREDIT",
 - "card_cardlevel": "string",
 - "card_country_code": "string",
 - "card_debit_network": "string",
 - "card_ebt_state": "string",
 - "card_fsa": "Y",
 - "card_funding_source": "CREDIT",
 - "card_issuer_bank": "string",
 - "card_msr_cvm": "sig",
 - "card_prepaid": "Y",
 - "card_reloadable": "Y",
 - "card_signature_debit": "Y",
 - "card_token_card": "Y",
 - "rcpt_host_ts": "string",
 - "rcpt_entry_mode": "G",
 - "rcpt_acct_type": "chequing",
 - "rcpt_emv_cvm": "none",
 - "rcpt_emv_pinbypass": "Y",
 - "rcpt_resp_code": "string",
 - "rcpt_issuer_resp_code": "string",
 - "rcpt_emv_aid": "string",
 - "rcpt_emv_name": "string",
 - "rcpt_emv_tvr": "string",
 - "rcpt_emv_tsi": "string",
 - "rcpt_emv_actype": "AAC",
 - "rcpt_emv_ac": "string",
 - "rcpt_emv_form_factor": "string",
 - "rcpt_custom": "string",
 - "rcpt_emv_iad": "string",
 - "rcpt_emv_card_decline": "string",
 - "printdata": "string",
 - "account": "XXXXXXXXXXXX1234",
 - "cardtype": "VISA",
 - "cardholdername": "John Doe",
 - "language": "en",
 - "pclevel": "0",
 - "timestamp": "string",
 - "ttid": "string"
 
}Balance inquiry
Applies to:
libmonetra KVS equivalent for endpoint
action = balanceinqobject (_cardlist_deny_account_data)   Account information parameters There are multiple ways to collect the customer's account information. These are the minimum fields required for each entry method. 
 Additional modifiers are also present which can provide information about how
the data was received. For example, Cards and phones can be tapped in which
case the  ENCRYPTION Many of these can be sent encrypted when using an encrypting reader with
a supported encryption method. The  Due to the difference in encrypted reader output and some formats being proprietary limited information about the encrypted account fields are provided. If it is necessary to directly send encrypted reader data to TranSafe please contact support who can work with you and the device manufacturer on how to format the data for the relevant fields to a given device.  | |
object (_transaction_balance_verification)   Verification parameters  | |
| tokenize | string  Default:  "no"  Enum: "yes" "no"   Whether or not the account data should be tokenized as part of this request. Defaults to  The token will be of type  When enabled, by default, this will generate a new token. If  Values: 
  | 
| matching_token | string  Default:  "no"  Enum: "yes" "no"   When paired with  By default, every tokenization will generate a new token. Sending
 Requires: 
 Values: 
  | 
{- "account_data": {
- "account": "string",
 - "cardshieldticket": "string",
 - "cardholdername": "John Doe",
 - "cardpresent": "yes",
 - "countrycode": "840",
 - "e_account": "string",
 - "e_datafield": "string",
 - "e_datafieldfmt": "account",
 - "e_datafieldmasked": "string",
 - "e_trackdata": "string",
 - "e_id": "string",
 - "expdate": "0129",
 - "icc": "string",
 - "rfid": "yes",
 - "token": "string",
 - "trackdata": "string",
 - "abaroute": "stringstr",
 - "checknum": "string",
 - "accounttype": "BUSINESS"
 
}, - "verification": {
- "cv": "123",
 - "street": "1st St",
 - "zip": "32606"
 
}, - "tokenize": "yes",
 - "matching_token": "yes"
 
}{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved",
 - "phard_code": "SUCCESS",
 - "card_currency": "string",
 - "card_cardclass": "CREDIT",
 - "card_cardlevel": "string",
 - "card_country_code": "string",
 - "card_debit_network": "string",
 - "card_ebt_state": "string",
 - "card_fsa": "Y",
 - "card_funding_source": "CREDIT",
 - "card_issuer_bank": "string",
 - "card_msr_cvm": "sig",
 - "card_prepaid": "Y",
 - "card_reloadable": "Y",
 - "card_signature_debit": "Y",
 - "card_token_card": "Y",
 - "rcpt_host_ts": "string",
 - "rcpt_entry_mode": "G",
 - "rcpt_acct_type": "chequing",
 - "rcpt_emv_cvm": "none",
 - "rcpt_emv_pinbypass": "Y",
 - "rcpt_resp_code": "string",
 - "rcpt_issuer_resp_code": "string",
 - "rcpt_emv_aid": "string",
 - "rcpt_emv_name": "string",
 - "rcpt_emv_tvr": "string",
 - "rcpt_emv_tsi": "string",
 - "rcpt_emv_actype": "AAC",
 - "rcpt_emv_ac": "string",
 - "rcpt_emv_form_factor": "string",
 - "rcpt_custom": "string",
 - "rcpt_emv_iad": "string",
 - "rcpt_emv_card_decline": "string",
 - "printdata": "string",
 - "account": "XXXXXXXXXXXX1234",
 - "cardtype": "VISA",
 - "cardholdername": "John Doe",
 - "language": "en",
 - "pclevel": "0",
 - "avs": "GOOD",
 - "cv": "GOOD",
 - "balance": "string",
 - "timestamp": "string",
 - "token": "string"
 
}Add an uncaptured sale to a batch
If a sale was sent with capture=no and approved, then a hold has been placed on
funds, but the transaction was not added to a batch and is not eligible for
settlement. This will add the uncaptured transaction to a batch and make it
eligible for settlement.
This is functionally equivalent to a preauthcomplete, except that the
original transaction is a sale instead of a preauth.
In the vast majority of cases a preauth and preauthcomplete should be
used instead of sale with capture=no followed by the capture action.
Only very specific MCCs need to use this functionality. Specifically,
businesses that need to hold transaction settlement but are unable to
use a preauth for this purpose. Your merchant account provider should
have informed you if sale with capture=no is necessary instead of preauth.
Using capture=no outside of MCC's where it's required will not cause
processing errors. However, the amount should not be changed in this situation.
If is acceptable to use this flow but using a preauth and preauthcomplete
is encouraged because it provides more flexibility.
libmonetra KVS equivalent for endpoint
action = capture| ttid  required   | string  Transaction identifier  | 
| priority | string  Default:  "normal"  Enum: "low" "normal" "high"   Processing priority. You should process large batches as priority low, so that any real-time transactions that come through will be processed immediately Values: 
  | 
| timeout | string\d+  Length of time transaction can sit in send queue before sending to the processor. This is a hint/estimate and not a hard value  | 
| rcpt | string  The  A value of  A value of  All other values are key/value pairs indicating formatting configurations, separated by semicolons, as in this example: Receipt configuration options: 
  | 
| property name* | string   | 
{- "priority": "normal",
 - "timeout": "30",
 - "rcpt": "yes",
 - "property1": "string",
 - "property2": "string"
 
}{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved",
 - "phard_code": "SUCCESS",
 - "card_currency": "string",
 - "card_cardclass": "CREDIT",
 - "card_cardlevel": "string",
 - "card_country_code": "string",
 - "card_debit_network": "string",
 - "card_ebt_state": "string",
 - "card_fsa": "Y",
 - "card_funding_source": "CREDIT",
 - "card_issuer_bank": "string",
 - "card_msr_cvm": "sig",
 - "card_prepaid": "Y",
 - "card_reloadable": "Y",
 - "card_signature_debit": "Y",
 - "card_token_card": "Y",
 - "rcpt_host_ts": "string",
 - "rcpt_entry_mode": "G",
 - "rcpt_acct_type": "chequing",
 - "rcpt_emv_cvm": "none",
 - "rcpt_emv_pinbypass": "Y",
 - "rcpt_resp_code": "string",
 - "rcpt_issuer_resp_code": "string",
 - "rcpt_emv_aid": "string",
 - "rcpt_emv_name": "string",
 - "rcpt_emv_tvr": "string",
 - "rcpt_emv_tsi": "string",
 - "rcpt_emv_actype": "AAC",
 - "rcpt_emv_ac": "string",
 - "rcpt_emv_form_factor": "string",
 - "rcpt_custom": "string",
 - "rcpt_emv_iad": "string",
 - "rcpt_emv_card_decline": "string",
 - "printdata": "string",
 - "account": "XXXXXXXXXXXX1234",
 - "cardtype": "VISA",
 - "cardholdername": "John Doe",
 - "language": "en",
 - "pclevel": "0",
 - "timestamp": "string",
 - "ttid": "string"
 
}Performs a real-time card type lookup against the system's current BIN table
The Card Type request should be used when you need to know (in advance of a
financial request) what type of card is being presented. It is particularly
useful for integrated systems (such as POS or E-commerce) which do not maintain
their own internal BIN table(s).
Note: When a Global BIN file is configured, extended metadata may be returned. Any fields returned will be dependent on both relevance and/or if the particular field has been recorded on file.
libmonetra KVS equivalent for endpoint
action = cardtypeobject (_cardlist_deny_account_data)   Account information parameters There are multiple ways to collect the customer's account information. These are the minimum fields required for each entry method. 
 Additional modifiers are also present which can provide information about how
the data was received. For example, Cards and phones can be tapped in which
case the  ENCRYPTION Many of these can be sent encrypted when using an encrypting reader with
a supported encryption method. The  Due to the difference in encrypted reader output and some formats being proprietary limited information about the encrypted account fields are provided. If it is necessary to directly send encrypted reader data to TranSafe please contact support who can work with you and the device manufacturer on how to format the data for the relevant fields to a given device.  | |
| tokenize | string  Default:  "no"  Enum: "yes" "no"   Whether or not the account data should be tokenized as part of this request. Defaults to  The token will be of type  When enabled, by default, this will generate a new token. If  Values: 
  | 
| matching_token | string  Default:  "no"  Enum: "yes" "no"   When paired with  By default, every tokenization will generate a new token. Sending
 Requires: 
 Values: 
  | 
{- "account_data": {
- "account": "string",
 - "cardshieldticket": "string",
 - "cardholdername": "John Doe",
 - "cardpresent": "yes",
 - "countrycode": "840",
 - "e_account": "string",
 - "e_datafield": "string",
 - "e_datafieldfmt": "account",
 - "e_datafieldmasked": "string",
 - "e_trackdata": "string",
 - "e_id": "string",
 - "expdate": "0129",
 - "icc": "string",
 - "rfid": "yes",
 - "token": "string",
 - "trackdata": "string",
 - "abaroute": "stringstr",
 - "checknum": "string",
 - "accounttype": "BUSINESS"
 
}, - "tokenize": "yes",
 - "matching_token": "yes"
 
}{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved",
 - "card_currency": "string",
 - "card_cardclass": "CREDIT",
 - "card_cardlevel": "string",
 - "card_country_code": "string",
 - "card_debit_network": "string",
 - "card_ebt_state": "string",
 - "card_fsa": "Y",
 - "card_funding_source": "CREDIT",
 - "card_issuer_bank": "string",
 - "card_msr_cvm": "sig",
 - "card_prepaid": "Y",
 - "card_reloadable": "Y",
 - "card_signature_debit": "Y",
 - "card_token_card": "Y",
 - "rcpt_host_ts": "string",
 - "rcpt_entry_mode": "G",
 - "rcpt_acct_type": "chequing",
 - "rcpt_emv_cvm": "none",
 - "rcpt_emv_pinbypass": "Y",
 - "rcpt_resp_code": "string",
 - "rcpt_issuer_resp_code": "string",
 - "rcpt_emv_aid": "string",
 - "rcpt_emv_name": "string",
 - "rcpt_emv_tvr": "string",
 - "rcpt_emv_tsi": "string",
 - "rcpt_emv_actype": "AAC",
 - "rcpt_emv_ac": "string",
 - "rcpt_emv_form_factor": "string",
 - "rcpt_custom": "string",
 - "rcpt_emv_iad": "string",
 - "rcpt_emv_card_decline": "string",
 - "printdata": "string",
 - "account": "XXXXXXXXXXXX1234",
 - "cardtype": "VISA",
 - "cardholdername": "John Doe",
 - "language": "en",
 - "pclevel": "0",
 - "timestamp": "string",
 - "token": "string"
 
}Get all order payment transaction details
libmonetra KVS equivalent for endpoint
action = adminadmin = trandetail| order_id  required   | string  Unique ID of an order Cannot be combined with: 
  | 
| ttid | string  Transaction identifier Cannot be combined with: 
  | 
| rcpt | string   Example:  rcpt=yes The  A value of  A value of  All other values are key/value pairs indicating formatting configurations, separated by semicolons, as in this example: Receipt configuration options: 
  | 
| rcpt_email | string  Email to send customer receipt copy to  Can be an email or   | 
| rcpt_sms | string  Send SMS for order invoices  Can be an phone number or   | 
| rcpt_duplicate | object  Enum: "yes" "no"    Example:  rcpt_duplicate=no Values: 
  | 
| rcpt_merch_copy | object  Enum: "yes" "no"    Example:  rcpt_merch_copy=yes Values: 
  | 
| payment_id | string  Unique ID of a payment for an order Requires: 
  | 
curl -X GET 'https://test.transafe.com/api/v1/transaction/order/17485767483/payment' --basic -u 'test_retail|public:publ1ct3st'
{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved",
 - "card_currency": "string",
 - "card_cardclass": "CREDIT",
 - "card_cardlevel": "string",
 - "card_country_code": "string",
 - "card_debit_network": "string",
 - "card_ebt_state": "string",
 - "card_fsa": "Y",
 - "card_funding_source": "CREDIT",
 - "card_issuer_bank": "string",
 - "card_msr_cvm": "sig",
 - "card_prepaid": "Y",
 - "card_reloadable": "Y",
 - "card_signature_debit": "Y",
 - "card_token_card": "Y",
 - "rcpt_host_ts": "string",
 - "rcpt_entry_mode": "G",
 - "rcpt_acct_type": "chequing",
 - "rcpt_emv_cvm": "none",
 - "rcpt_emv_pinbypass": "Y",
 - "rcpt_resp_code": "string",
 - "rcpt_issuer_resp_code": "string",
 - "rcpt_emv_aid": "string",
 - "rcpt_emv_name": "string",
 - "rcpt_emv_tvr": "string",
 - "rcpt_emv_tsi": "string",
 - "rcpt_emv_actype": "AAC",
 - "rcpt_emv_ac": "string",
 - "rcpt_emv_form_factor": "string",
 - "rcpt_custom": "string",
 - "rcpt_emv_iad": "string",
 - "rcpt_emv_card_decline": "string",
 - "printdata": "string",
 - "auth": "string",
 - "batch": "string",
 - "issuer_decline": "Y",
 - "item": "string",
 - "stan": "string",
 - "account": "XXXXXXXXXXXX1234",
 - "abaroute": "string",
 - "checknum": "string",
 - "accounttype": "BUSINESS",
 - "cardtype": "VISA",
 - "cardholdername": "John Doe",
 - "language": "en",
 - "pclevel": "0",
 - "cof_transid": "string",
 - "cof_authamount": "string",
 - "installment_num": "string",
 - "installment_total": "string",
 - "recurring": "recurring",
 - "avs": "GOOD",
 - "cv": "GOOD",
 - "shipcountry": "string",
 - "shipzip": "string",
 - "zip": "32606",
 - "action": "string",
 - "orig_code": "string",
 - "orig_msoft_code": "string",
 - "orig_phard_code": "string",
 - "orig_reqamount": "string",
 - "orig_verbiage": "string",
 - "merch_name": "string",
 - "merch_addr1": "string",
 - "merch_addr2": "string",
 - "merch_addr3": "string",
 - "merch_phone": "string",
 - "merch_email": "string",
 - "merch_url": "string",
 - "merch_proc": "string",
 - "custref": "55",
 - "ordernum": "A13DDES345",
 - "ptrannum": "1987",
 - "amount": "19.92",
 - "cashbackamount": "20.00",
 - "currency": "string",
 - "examount": "0.33",
 - "surchargeamount": "1.25",
 - "tax": "1.29",
 - "discountamount": "100.00",
 - "dutyamount": "5.07",
 - "freightamount": "225.82",
 - "bdate": "string",
 - "edate": "string",
 - "excharges": "REST",
 - "rate": "12.00",
 - "roomnum": "string",
 - "descmerch": "string",
 - "descloc": "string",
 - "clerkid": "string",
 - "stationid": "7",
 - "laneid": "4",
 - "comments": "string",
 - "divisionnum": "PAYROLL",
 - "expdate": "0129",
 - "healthcare": "yes",
 - "reversible": "yes",
 - "reversal_reason": "CLERKVOID",
 - "offline_decline": "string",
 - "tranflags": "HASAVS",
 - "txnstatus": "DECLINED",
 - "last_modified_ts": "string",
 - "order_id": "string",
 - "payment_id": "string",
 - "order_cash_discount": "string",
 - "order_cash_price": "string",
 - "order_noncash_price": "string",
 - "order_tip": "string",
 - "order_total": "string",
 - "order_tax": "string",
 - "order_discount": "string",
 - "detail_order_notes": "string",
 - "trans": "string",
 - "line_items": "string",
 - "ttid": "string",
 - "property1": "string",
 - "property2": "string"
 
}Get transaction details for a payment made to an order
libmonetra KVS equivalent for endpoint
action = adminadmin = trandetail| order_id  required   | string  Unique ID of an order Cannot be combined with: 
  | 
| payment_id  required   | string  Unique ID of a payment for an order Requires: 
  | 
| ttid | string  Transaction identifier Cannot be combined with: 
  | 
| rcpt | string   Example:  rcpt=yes The  A value of  A value of  All other values are key/value pairs indicating formatting configurations, separated by semicolons, as in this example: Receipt configuration options: 
  | 
| rcpt_email | string  Email to send customer receipt copy to  Can be an email or   | 
| rcpt_sms | string  Send SMS for order invoices  Can be an phone number or   | 
| rcpt_duplicate | object  Enum: "yes" "no"    Example:  rcpt_duplicate=no Values: 
  | 
| rcpt_merch_copy | object  Enum: "yes" "no"    Example:  rcpt_merch_copy=yes Values: 
  | 
curl -X GET 'https://test.transafe.com/api/v1/transaction/order/17485767483/payment/7849345732' --basic -u 'test_retail|public:publ1ct3st'
{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved",
 - "card_currency": "string",
 - "card_cardclass": "CREDIT",
 - "card_cardlevel": "string",
 - "card_country_code": "string",
 - "card_debit_network": "string",
 - "card_ebt_state": "string",
 - "card_fsa": "Y",
 - "card_funding_source": "CREDIT",
 - "card_issuer_bank": "string",
 - "card_msr_cvm": "sig",
 - "card_prepaid": "Y",
 - "card_reloadable": "Y",
 - "card_signature_debit": "Y",
 - "card_token_card": "Y",
 - "rcpt_host_ts": "string",
 - "rcpt_entry_mode": "G",
 - "rcpt_acct_type": "chequing",
 - "rcpt_emv_cvm": "none",
 - "rcpt_emv_pinbypass": "Y",
 - "rcpt_resp_code": "string",
 - "rcpt_issuer_resp_code": "string",
 - "rcpt_emv_aid": "string",
 - "rcpt_emv_name": "string",
 - "rcpt_emv_tvr": "string",
 - "rcpt_emv_tsi": "string",
 - "rcpt_emv_actype": "AAC",
 - "rcpt_emv_ac": "string",
 - "rcpt_emv_form_factor": "string",
 - "rcpt_custom": "string",
 - "rcpt_emv_iad": "string",
 - "rcpt_emv_card_decline": "string",
 - "printdata": "string",
 - "auth": "string",
 - "batch": "string",
 - "issuer_decline": "Y",
 - "item": "string",
 - "stan": "string",
 - "account": "XXXXXXXXXXXX1234",
 - "abaroute": "string",
 - "checknum": "string",
 - "accounttype": "BUSINESS",
 - "cardtype": "VISA",
 - "cardholdername": "John Doe",
 - "language": "en",
 - "pclevel": "0",
 - "cof_transid": "string",
 - "cof_authamount": "string",
 - "installment_num": "string",
 - "installment_total": "string",
 - "recurring": "recurring",
 - "avs": "GOOD",
 - "cv": "GOOD",
 - "shipcountry": "string",
 - "shipzip": "string",
 - "zip": "32606",
 - "action": "string",
 - "orig_code": "string",
 - "orig_msoft_code": "string",
 - "orig_phard_code": "string",
 - "orig_reqamount": "string",
 - "orig_verbiage": "string",
 - "merch_name": "string",
 - "merch_addr1": "string",
 - "merch_addr2": "string",
 - "merch_addr3": "string",
 - "merch_phone": "string",
 - "merch_email": "string",
 - "merch_url": "string",
 - "merch_proc": "string",
 - "custref": "55",
 - "ordernum": "A13DDES345",
 - "ptrannum": "1987",
 - "amount": "19.92",
 - "cashbackamount": "20.00",
 - "currency": "string",
 - "examount": "0.33",
 - "surchargeamount": "1.25",
 - "tax": "1.29",
 - "discountamount": "100.00",
 - "dutyamount": "5.07",
 - "freightamount": "225.82",
 - "bdate": "string",
 - "edate": "string",
 - "excharges": "REST",
 - "rate": "12.00",
 - "roomnum": "string",
 - "descmerch": "string",
 - "descloc": "string",
 - "clerkid": "string",
 - "stationid": "7",
 - "laneid": "4",
 - "comments": "string",
 - "divisionnum": "PAYROLL",
 - "expdate": "0129",
 - "healthcare": "yes",
 - "reversible": "yes",
 - "reversal_reason": "CLERKVOID",
 - "offline_decline": "string",
 - "tranflags": "HASAVS",
 - "txnstatus": "DECLINED",
 - "last_modified_ts": "string",
 - "order_id": "string",
 - "payment_id": "string",
 - "order_cash_discount": "string",
 - "order_cash_price": "string",
 - "order_noncash_price": "string",
 - "order_tip": "string",
 - "order_total": "string",
 - "order_tax": "string",
 - "order_discount": "string",
 - "detail_order_notes": "string",
 - "trans": "string",
 - "line_items": "string",
 - "ttid": "string",
 - "property1": "string",
 - "property2": "string"
 
}Activate a Gift card
See description for the gift card issue
operation for details.
Processors supporting activate
libmonetra KVS equivalent for endpoint
action = activateobject (_cardlist_deny_account_data)   Account information parameters There are multiple ways to collect the customer's account information. These are the minimum fields required for each entry method. 
 Additional modifiers are also present which can provide information about how
the data was received. For example, Cards and phones can be tapped in which
case the  ENCRYPTION Many of these can be sent encrypted when using an encrypting reader with
a supported encryption method. The  Due to the difference in encrypted reader output and some formats being proprietary limited information about the encrypted account fields are provided. If it is necessary to directly send encrypted reader data to TranSafe please contact support who can work with you and the device manufacturer on how to format the data for the relevant fields to a given device.  | |
| pin | string(?i)PINLESS|[[:xdigit:]]{16}|[[:xdigit:]]{20}...  Customer PIN number The PIN data can vary depending on the transaction and card type. For PINless debit bill payments, this should be set to  For Gift, this is typically the plain text PIN. Otherwise, this is a hex-encoded encrypted PIN block.  | 
| cv | string  [ 3 .. 4 ] characters [0-9]{3,4}  Card Verification value. Used to help with fraud prevention. 3 digits on back of VISA/MC/Discover, or 4 digits on front of AMEX cards. It's use is HIGHLY recommended for Mail Order/Telephone Order and E-commerce industries. Other indicators may be used, such as 'NR' if the CV is unreadable, 'NA' if the CV is physically not present on the card, or 'N' if the CV is intentionally not provided. If no CV is present, this will default to 'N'.  | 
object (_transaction_activate_merchant_descriptors)   Merchant descriptor parameters  | |
object (_transaction_activate_lane)   Merchant lane parameters  | |
object (_transaction_activate_order)   Order detail parameters  | |
object (_transaction_activate_processing_options)   Processing options  | |
| amount | string\d*(\.\d{0,2})?  Amount of money, including decimal. E.g  This is the total amount and is an aggregate of all supplementary amounts.  | 
| nsf | string  Enum: "yes" "no"   Approve transactions even if there are non-sufficient funds (NSF). This will
result in a partial approval if there are not enough funds to cover the full
requested amount, in which case an  Gift cards default to  If a partial approval is received, it will automatically be reversed internally
and the returned decline will have  Values: 
  | 
| rcpt | string  The  A value of  A value of  All other values are key/value pairs indicating formatting configurations, separated by semicolons, as in this example: Receipt configuration options: 
  | 
{- "account_data": {
- "account": "string",
 - "cardshieldticket": "string",
 - "cardholdername": "John Doe",
 - "cardpresent": "yes",
 - "countrycode": "840",
 - "e_account": "string",
 - "e_datafield": "string",
 - "e_datafieldfmt": "account",
 - "e_datafieldmasked": "string",
 - "e_trackdata": "string",
 - "e_id": "string",
 - "expdate": "0129",
 - "icc": "string",
 - "rfid": "yes",
 - "token": "string",
 - "trackdata": "string",
 - "abaroute": "stringstr",
 - "checknum": "string",
 - "accounttype": "BUSINESS"
 
}, - "pin": "string",
 - "cv": "123",
 - "merchant_descriptors": {
- "descmerch": "string",
 - "descloc": "string"
 
}, - "lane": {
- "clerkid": "string",
 - "stationid": "7",
 - "laneid": "4",
 - "comments": "string",
 - "divisionnum": "PAYROLL"
 
}, - "order": {
- "custref": "55",
 - "ordernum": "A13DDES345",
 - "ptrannum": "1987"
 
}, - "processing_options": {
- "capture": "yes",
 - "debtrepayment": "no",
 - "duplcheck": "no",
 - "priority": "normal",
 - "timeout": "30"
 
}, - "amount": "19.92",
 - "nsf": "yes",
 - "rcpt": "yes"
 
}{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved",
 - "phard_code": "SUCCESS",
 - "card_currency": "string",
 - "card_cardclass": "CREDIT",
 - "card_cardlevel": "string",
 - "card_country_code": "string",
 - "card_debit_network": "string",
 - "card_ebt_state": "string",
 - "card_fsa": "Y",
 - "card_funding_source": "CREDIT",
 - "card_issuer_bank": "string",
 - "card_msr_cvm": "sig",
 - "card_prepaid": "Y",
 - "card_reloadable": "Y",
 - "card_signature_debit": "Y",
 - "card_token_card": "Y",
 - "rcpt_host_ts": "string",
 - "rcpt_entry_mode": "G",
 - "rcpt_acct_type": "chequing",
 - "rcpt_emv_cvm": "none",
 - "rcpt_emv_pinbypass": "Y",
 - "rcpt_resp_code": "string",
 - "rcpt_issuer_resp_code": "string",
 - "rcpt_emv_aid": "string",
 - "rcpt_emv_name": "string",
 - "rcpt_emv_tvr": "string",
 - "rcpt_emv_tsi": "string",
 - "rcpt_emv_actype": "AAC",
 - "rcpt_emv_ac": "string",
 - "rcpt_emv_form_factor": "string",
 - "rcpt_custom": "string",
 - "rcpt_emv_iad": "string",
 - "rcpt_emv_card_decline": "string",
 - "printdata": "string",
 - "auth": "string",
 - "batch": "string",
 - "issuer_decline": "Y",
 - "item": "string",
 - "stan": "string",
 - "authamount": "string",
 - "balance": "string",
 - "account": "XXXXXXXXXXXX1234",
 - "timestamp": "string",
 - "cardtype": "VISA",
 - "cardholdername": "John Doe",
 - "language": "en",
 - "pclevel": "0",
 - "ttid": "string"
 
}Remove all funds from a gift card
Funds are intended to be remitted to the customer either as cash or via another method. Many states have laws requiring merchants to provide the operation at the customer's request.
The authamount response parameter will contain
the amount of money that needs to be remitted
to the customer.
Depending on the gift card processor this may or may not deactivate the card.
libmonetra KVS equivalent for endpoint
action = cashoutobject (_cardlist_deny_account_data)   Account information parameters There are multiple ways to collect the customer's account information. These are the minimum fields required for each entry method. 
 Additional modifiers are also present which can provide information about how
the data was received. For example, Cards and phones can be tapped in which
case the  ENCRYPTION Many of these can be sent encrypted when using an encrypting reader with
a supported encryption method. The  Due to the difference in encrypted reader output and some formats being proprietary limited information about the encrypted account fields are provided. If it is necessary to directly send encrypted reader data to TranSafe please contact support who can work with you and the device manufacturer on how to format the data for the relevant fields to a given device.  | |
| pin | string(?i)PINLESS|[[:xdigit:]]{16}|[[:xdigit:]]{20}...  Customer PIN number The PIN data can vary depending on the transaction and card type. For PINless debit bill payments, this should be set to  For Gift, this is typically the plain text PIN. Otherwise, this is a hex-encoded encrypted PIN block.  | 
| cv | string  [ 3 .. 4 ] characters [0-9]{3,4}  Card Verification value. Used to help with fraud prevention. 3 digits on back of VISA/MC/Discover, or 4 digits on front of AMEX cards. It's use is HIGHLY recommended for Mail Order/Telephone Order and E-commerce industries. Other indicators may be used, such as 'NR' if the CV is unreadable, 'NA' if the CV is physically not present on the card, or 'N' if the CV is intentionally not provided. If no CV is present, this will default to 'N'.  | 
object (_transaction_activate_merchant_descriptors)   Merchant descriptor parameters  | |
object (_transaction_activate_lane)   Merchant lane parameters  | |
object (_transaction_activate_order)   Order detail parameters  | |
object (_transaction_activate_processing_options)   Processing options  | |
| rcpt | string  The  A value of  A value of  All other values are key/value pairs indicating formatting configurations, separated by semicolons, as in this example: Receipt configuration options: 
  | 
{- "account_data": {
- "account": "string",
 - "cardshieldticket": "string",
 - "cardholdername": "John Doe",
 - "cardpresent": "yes",
 - "countrycode": "840",
 - "e_account": "string",
 - "e_datafield": "string",
 - "e_datafieldfmt": "account",
 - "e_datafieldmasked": "string",
 - "e_trackdata": "string",
 - "e_id": "string",
 - "expdate": "0129",
 - "icc": "string",
 - "rfid": "yes",
 - "token": "string",
 - "trackdata": "string",
 - "abaroute": "stringstr",
 - "checknum": "string",
 - "accounttype": "BUSINESS"
 
}, - "pin": "string",
 - "cv": "123",
 - "merchant_descriptors": {
- "descmerch": "string",
 - "descloc": "string"
 
}, - "lane": {
- "clerkid": "string",
 - "stationid": "7",
 - "laneid": "4",
 - "comments": "string",
 - "divisionnum": "PAYROLL"
 
}, - "order": {
- "custref": "55",
 - "ordernum": "A13DDES345",
 - "ptrannum": "1987"
 
}, - "processing_options": {
- "capture": "yes",
 - "debtrepayment": "no",
 - "duplcheck": "no",
 - "priority": "normal",
 - "timeout": "30"
 
}, - "rcpt": "yes"
 
}{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved",
 - "phard_code": "SUCCESS",
 - "card_currency": "string",
 - "card_cardclass": "CREDIT",
 - "card_cardlevel": "string",
 - "card_country_code": "string",
 - "card_debit_network": "string",
 - "card_ebt_state": "string",
 - "card_fsa": "Y",
 - "card_funding_source": "CREDIT",
 - "card_issuer_bank": "string",
 - "card_msr_cvm": "sig",
 - "card_prepaid": "Y",
 - "card_reloadable": "Y",
 - "card_signature_debit": "Y",
 - "card_token_card": "Y",
 - "rcpt_host_ts": "string",
 - "rcpt_entry_mode": "G",
 - "rcpt_acct_type": "chequing",
 - "rcpt_emv_cvm": "none",
 - "rcpt_emv_pinbypass": "Y",
 - "rcpt_resp_code": "string",
 - "rcpt_issuer_resp_code": "string",
 - "rcpt_emv_aid": "string",
 - "rcpt_emv_name": "string",
 - "rcpt_emv_tvr": "string",
 - "rcpt_emv_tsi": "string",
 - "rcpt_emv_actype": "AAC",
 - "rcpt_emv_ac": "string",
 - "rcpt_emv_form_factor": "string",
 - "rcpt_custom": "string",
 - "rcpt_emv_iad": "string",
 - "rcpt_emv_card_decline": "string",
 - "printdata": "string",
 - "auth": "string",
 - "batch": "string",
 - "issuer_decline": "Y",
 - "item": "string",
 - "stan": "string",
 - "authamount": "string",
 - "balance": "string",
 - "account": "XXXXXXXXXXXX1234",
 - "timestamp": "string",
 - "cardtype": "VISA",
 - "cardholdername": "John Doe",
 - "language": "en",
 - "pclevel": "0",
 - "ttid": "string"
 
}Issue a Gift card
There are two operations that can open and fund a gift
card activate and issue. The difference between these
two is blurry and often they are used interchangeably.
activate typically applies to denominated cards. Where the amount
is tied to the card and does not need to be specified as part of
the operation. This is in contrast to issue which typically
applies to non-denominated cards. In this case The amount being
placed onto the card must be specified.
Using activate vs issue can be processor specific.
Some gift processors do not make a distinction between
the two and will use the same operation for both non-denominated
and denominated cards.
Further, processors that support both types of cards may have different programs for different merchants. Such as, providing one, the other, or both for the merchant. Thus it is necessary to work with both the merchant and processor to determine how gift cards need to be funded.
Processors supporting issue
libmonetra KVS equivalent for endpoint
action = issueobject (_cardlist_deny_account_data)   Account information parameters There are multiple ways to collect the customer's account information. These are the minimum fields required for each entry method. 
 Additional modifiers are also present which can provide information about how
the data was received. For example, Cards and phones can be tapped in which
case the  ENCRYPTION Many of these can be sent encrypted when using an encrypting reader with
a supported encryption method. The  Due to the difference in encrypted reader output and some formats being proprietary limited information about the encrypted account fields are provided. If it is necessary to directly send encrypted reader data to TranSafe please contact support who can work with you and the device manufacturer on how to format the data for the relevant fields to a given device.  | |
| pin | string(?i)PINLESS|[[:xdigit:]]{16}|[[:xdigit:]]{20}...  Customer PIN number The PIN data can vary depending on the transaction and card type. For PINless debit bill payments, this should be set to  For Gift, this is typically the plain text PIN. Otherwise, this is a hex-encoded encrypted PIN block.  | 
| cv | string  [ 3 .. 4 ] characters [0-9]{3,4}  Card Verification value. Used to help with fraud prevention. 3 digits on back of VISA/MC/Discover, or 4 digits on front of AMEX cards. It's use is HIGHLY recommended for Mail Order/Telephone Order and E-commerce industries. Other indicators may be used, such as 'NR' if the CV is unreadable, 'NA' if the CV is physically not present on the card, or 'N' if the CV is intentionally not provided. If no CV is present, this will default to 'N'.  | 
object (_transaction_activate_merchant_descriptors)   Merchant descriptor parameters  | |
object (_transaction_activate_lane)   Merchant lane parameters  | |
object (_transaction_activate_order)   Order detail parameters  | |
object (_transaction_activate_processing_options)   Processing options  | |
| amount  required   | string\d*(\.\d{0,2})?  Amount of money, including decimal. E.g  This is the total amount and is an aggregate of all supplementary amounts.  | 
| nsf | string  Enum: "yes" "no"   Approve transactions even if there are non-sufficient funds (NSF). This will
result in a partial approval if there are not enough funds to cover the full
requested amount, in which case an  Gift cards default to  If a partial approval is received, it will automatically be reversed internally
and the returned decline will have  Values: 
  | 
| rcpt | string  The  A value of  A value of  All other values are key/value pairs indicating formatting configurations, separated by semicolons, as in this example: Receipt configuration options: 
  | 
{- "account_data": {
- "account": "string",
 - "cardshieldticket": "string",
 - "cardholdername": "John Doe",
 - "cardpresent": "yes",
 - "countrycode": "840",
 - "e_account": "string",
 - "e_datafield": "string",
 - "e_datafieldfmt": "account",
 - "e_datafieldmasked": "string",
 - "e_trackdata": "string",
 - "e_id": "string",
 - "expdate": "0129",
 - "icc": "string",
 - "rfid": "yes",
 - "token": "string",
 - "trackdata": "string",
 - "abaroute": "stringstr",
 - "checknum": "string",
 - "accounttype": "BUSINESS"
 
}, - "pin": "string",
 - "cv": "123",
 - "merchant_descriptors": {
- "descmerch": "string",
 - "descloc": "string"
 
}, - "lane": {
- "clerkid": "string",
 - "stationid": "7",
 - "laneid": "4",
 - "comments": "string",
 - "divisionnum": "PAYROLL"
 
}, - "order": {
- "custref": "55",
 - "ordernum": "A13DDES345",
 - "ptrannum": "1987"
 
}, - "processing_options": {
- "capture": "yes",
 - "debtrepayment": "no",
 - "duplcheck": "no",
 - "priority": "normal",
 - "timeout": "30"
 
}, - "amount": "19.92",
 - "nsf": "yes",
 - "rcpt": "yes"
 
}{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved",
 - "phard_code": "SUCCESS",
 - "card_currency": "string",
 - "card_cardclass": "CREDIT",
 - "card_cardlevel": "string",
 - "card_country_code": "string",
 - "card_debit_network": "string",
 - "card_ebt_state": "string",
 - "card_fsa": "Y",
 - "card_funding_source": "CREDIT",
 - "card_issuer_bank": "string",
 - "card_msr_cvm": "sig",
 - "card_prepaid": "Y",
 - "card_reloadable": "Y",
 - "card_signature_debit": "Y",
 - "card_token_card": "Y",
 - "rcpt_host_ts": "string",
 - "rcpt_entry_mode": "G",
 - "rcpt_acct_type": "chequing",
 - "rcpt_emv_cvm": "none",
 - "rcpt_emv_pinbypass": "Y",
 - "rcpt_resp_code": "string",
 - "rcpt_issuer_resp_code": "string",
 - "rcpt_emv_aid": "string",
 - "rcpt_emv_name": "string",
 - "rcpt_emv_tvr": "string",
 - "rcpt_emv_tsi": "string",
 - "rcpt_emv_actype": "AAC",
 - "rcpt_emv_ac": "string",
 - "rcpt_emv_form_factor": "string",
 - "rcpt_custom": "string",
 - "rcpt_emv_iad": "string",
 - "rcpt_emv_card_decline": "string",
 - "printdata": "string",
 - "auth": "string",
 - "batch": "string",
 - "issuer_decline": "Y",
 - "item": "string",
 - "stan": "string",
 - "authamount": "string",
 - "balance": "string",
 - "account": "XXXXXXXXXXXX1234",
 - "timestamp": "string",
 - "cardtype": "VISA",
 - "cardholdername": "John Doe",
 - "language": "en",
 - "pclevel": "0",
 - "ttid": "string"
 
}Refunds merchandise to a gift card
Instead of sending the sensitive account info, a prior transaction's ttid may
be referenced (if the transaction hasn't been secured or purged).
If the transaction being referenced is still unsettled, the refund amount must
be different than the original authorization amount; if not, reversal should
be used instead.
Gift cards use this operation to denote funds are being loaded onto the card
due to returning merchandise. Adding funds to a cards should be use the
refund operation.
Not all gift card providers support the merchandise refund operation. In which case, a standard refund to load the funds onto the gift card should be used.
libmonetra KVS equivalent for endpoint
action = merchreturnobject  Account information parameters There are multiple ways to collect the customer's account information. These are the minimum fields required for each entry method. 
 Additional modifiers are also present which can provide information about how
the data was received. For example, Cards and phones can be tapped in which
case the  ENCRYPTION Many of these can be sent encrypted when using an encrypting reader with
a supported encryption method. The  Due to the difference in encrypted reader output and some formats being proprietary limited information about the encrypted account fields are provided. If it is necessary to directly send encrypted reader data to TranSafe please contact support who can work with you and the device manufacturer on how to format the data for the relevant fields to a given device.  | |
object  Merchant descriptor parameters  | |
object  Merchant lane parameters  | |
object  Monetary parameters  | |
object  Order detail parameters  | |
| priority | string  Default:  "normal"  Enum: "low" "normal" "high"   Processing priority. You should process large batches as priority low, so that any real-time transactions that come through will be processed immediately Values: 
  | 
| timeout | string\d+  Length of time transaction can sit in send queue before sending to the processor. This is a hint/estimate and not a hard value  | 
| rcpt | string  The  A value of  A value of  All other values are key/value pairs indicating formatting configurations, separated by semicolons, as in this example: Receipt configuration options: 
  | 
| ttid | string  Identifier for the gift card transaction to refund merchandise  | 
| property name* | string   | 
{- "account_data": {
- "account": "string",
 - "cardshieldticket": "string",
 - "cardholdername": "John Doe",
 - "cardpresent": "yes",
 - "countrycode": "840",
 - "e_account": "string",
 - "e_datafield": "string",
 - "e_datafieldfmt": "account",
 - "e_datafieldmasked": "string",
 - "e_trackdata": "string",
 - "e_id": "string",
 - "expdate": "0129",
 - "icc": "string",
 - "rfid": "yes",
 - "token": "string",
 - "trackdata": "string",
 - "abaroute": "stringstr",
 - "checknum": "string",
 - "accounttype": "BUSINESS"
 
}, - "merchant_descriptors": {
- "descmerch": "string",
 - "descloc": "string"
 
}, - "lane": {
- "clerkid": "string",
 - "stationid": "7",
 - "laneid": "4",
 - "comments": "string",
 - "divisionnum": "PAYROLL"
 
}, - "money": {
- "amount": "19.92",
 - "cashbackamount": "20.00",
 - "currency": "string",
 - "examount": "0.33",
 - "surchargeamount": "1.25",
 - "tax": "1.29",
 - "discountamount": "100.00",
 - "dutyamount": "5.07",
 - "freightamount": "225.82"
 
}, - "order": {
- "custref": "55",
 - "ordernum": "A13DDES345",
 - "ptrannum": "1987"
 
}, - "priority": "normal",
 - "timeout": "30",
 - "rcpt": "yes",
 - "ttid": "string",
 - "property1": "string",
 - "property2": "string"
 
}{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved",
 - "phard_code": "SUCCESS",
 - "card_currency": "string",
 - "card_cardclass": "CREDIT",
 - "card_cardlevel": "string",
 - "card_country_code": "string",
 - "card_debit_network": "string",
 - "card_ebt_state": "string",
 - "card_fsa": "Y",
 - "card_funding_source": "CREDIT",
 - "card_issuer_bank": "string",
 - "card_msr_cvm": "sig",
 - "card_prepaid": "Y",
 - "card_reloadable": "Y",
 - "card_signature_debit": "Y",
 - "card_token_card": "Y",
 - "rcpt_host_ts": "string",
 - "rcpt_entry_mode": "G",
 - "rcpt_acct_type": "chequing",
 - "rcpt_emv_cvm": "none",
 - "rcpt_emv_pinbypass": "Y",
 - "rcpt_resp_code": "string",
 - "rcpt_issuer_resp_code": "string",
 - "rcpt_emv_aid": "string",
 - "rcpt_emv_name": "string",
 - "rcpt_emv_tvr": "string",
 - "rcpt_emv_tsi": "string",
 - "rcpt_emv_actype": "AAC",
 - "rcpt_emv_ac": "string",
 - "rcpt_emv_form_factor": "string",
 - "rcpt_custom": "string",
 - "rcpt_emv_iad": "string",
 - "rcpt_emv_card_decline": "string",
 - "printdata": "string",
 - "auth": "string",
 - "batch": "string",
 - "issuer_decline": "Y",
 - "item": "string",
 - "stan": "string",
 - "authamount": "string",
 - "balance": "string",
 - "account": "XXXXXXXXXXXX1234",
 - "timestamp": "string",
 - "cardtype": "VISA",
 - "cardholdername": "John Doe",
 - "language": "en",
 - "pclevel": "0",
 - "ttid": "string"
 
}Issue a refund for merchandise to a gift card based on a previous transaction
If amount is not specified, the amount from the referenced transaction will be used.
libmonetra KVS equivalent for endpoint
action = merchreturn| ttid  required   | string  Identifier for the gift card transaction to refund merchandise  | 
object  Account information parameters There are multiple ways to collect the customer's account information. These are the minimum fields required for each entry method. 
 Additional modifiers are also present which can provide information about how
the data was received. For example, Cards and phones can be tapped in which
case the  ENCRYPTION Many of these can be sent encrypted when using an encrypting reader with
a supported encryption method. The  Due to the difference in encrypted reader output and some formats being proprietary limited information about the encrypted account fields are provided. If it is necessary to directly send encrypted reader data to TranSafe please contact support who can work with you and the device manufacturer on how to format the data for the relevant fields to a given device.  | |
object  Merchant descriptor parameters  | |
object  Merchant lane parameters  | |
object  Monetary parameters  | |
object  Order detail parameters  | |
| priority | string  Default:  "normal"  Enum: "low" "normal" "high"   Processing priority. You should process large batches as priority low, so that any real-time transactions that come through will be processed immediately Values: 
  | 
| timeout | string\d+  Length of time transaction can sit in send queue before sending to the processor. This is a hint/estimate and not a hard value  | 
| rcpt | string  The  A value of  A value of  All other values are key/value pairs indicating formatting configurations, separated by semicolons, as in this example: Receipt configuration options: 
  | 
| property name* | string   | 
{- "account_data": {
- "account": "string",
 - "cardshieldticket": "string",
 - "cardholdername": "John Doe",
 - "cardpresent": "yes",
 - "countrycode": "840",
 - "e_account": "string",
 - "e_datafield": "string",
 - "e_datafieldfmt": "account",
 - "e_datafieldmasked": "string",
 - "e_trackdata": "string",
 - "e_id": "string",
 - "expdate": "0129",
 - "icc": "string",
 - "rfid": "yes",
 - "token": "string",
 - "trackdata": "string",
 - "abaroute": "stringstr",
 - "checknum": "string",
 - "accounttype": "BUSINESS"
 
}, - "merchant_descriptors": {
- "descmerch": "string",
 - "descloc": "string"
 
}, - "lane": {
- "clerkid": "string",
 - "stationid": "7",
 - "laneid": "4",
 - "comments": "string",
 - "divisionnum": "PAYROLL"
 
}, - "money": {
- "amount": "19.92",
 - "cashbackamount": "20.00",
 - "currency": "string",
 - "examount": "0.33",
 - "surchargeamount": "1.25",
 - "tax": "1.29",
 - "discountamount": "100.00",
 - "dutyamount": "5.07",
 - "freightamount": "225.82"
 
}, - "order": {
- "custref": "55",
 - "ordernum": "A13DDES345",
 - "ptrannum": "1987"
 
}, - "priority": "normal",
 - "timeout": "30",
 - "rcpt": "yes",
 - "property1": "string",
 - "property2": "string"
 
}{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved",
 - "phard_code": "SUCCESS",
 - "card_currency": "string",
 - "card_cardclass": "CREDIT",
 - "card_cardlevel": "string",
 - "card_country_code": "string",
 - "card_debit_network": "string",
 - "card_ebt_state": "string",
 - "card_fsa": "Y",
 - "card_funding_source": "CREDIT",
 - "card_issuer_bank": "string",
 - "card_msr_cvm": "sig",
 - "card_prepaid": "Y",
 - "card_reloadable": "Y",
 - "card_signature_debit": "Y",
 - "card_token_card": "Y",
 - "rcpt_host_ts": "string",
 - "rcpt_entry_mode": "G",
 - "rcpt_acct_type": "chequing",
 - "rcpt_emv_cvm": "none",
 - "rcpt_emv_pinbypass": "Y",
 - "rcpt_resp_code": "string",
 - "rcpt_issuer_resp_code": "string",
 - "rcpt_emv_aid": "string",
 - "rcpt_emv_name": "string",
 - "rcpt_emv_tvr": "string",
 - "rcpt_emv_tsi": "string",
 - "rcpt_emv_actype": "AAC",
 - "rcpt_emv_ac": "string",
 - "rcpt_emv_form_factor": "string",
 - "rcpt_custom": "string",
 - "rcpt_emv_iad": "string",
 - "rcpt_emv_card_decline": "string",
 - "printdata": "string",
 - "auth": "string",
 - "batch": "string",
 - "issuer_decline": "Y",
 - "item": "string",
 - "stan": "string",
 - "authamount": "string",
 - "balance": "string",
 - "account": "XXXXXXXXXXXX1234",
 - "timestamp": "string",
 - "cardtype": "VISA",
 - "cardholdername": "John Doe",
 - "language": "en",
 - "pclevel": "0",
 - "ttid": "string"
 
}Operation used to increase amount for an existing authorization
Primarily used by lodging. However, some processors and card brands support this operation on other industries. Neither processors nor card brands uniformly support incremental authorizations across non-lodging industry. The merchant needs to verify with the processor how they can use incremental if they are non-lodging industry. It is recommended that incremental only be used with lodging due to non-uniform support.
In the hotel industry, an example use is to add items charged to the room to an existing authorization. It is also used to extend the customer's stay. As well as other hotel specific conditions.
This should not be used instead of a preauth in most cases. This is intended
for authorizations that are long lived. For example, a hotel stay where the
guest is charging items to their room. This operation will ensure the funds are
held on the guest's card until they check out and the authorization is
submitted for settlement.
This is specific for changing the amount and lodging stay. It differs from an
adjust which allows changing multiple parameters. Also, an adjust may not be
an online operation and only modify parameters for settlement.  An
incremental is always online and, if successful, will increase the funds held
on the customer's card. An adjust does not guarantee funds are available or
will be held for the new amount.
The transaction amount is assumed to be the final transaction amount that will be settled. This is inclusive of the increase and the original amount that has already been authorized.
libmonetra KVS equivalent for endpoint
action = incremental| ttid  required   | string  Identifier for transaction to increase amount  | 
| amount  required   | string\d*(\.\d{0,2})?  New total amount, not amount being added  | 
| tax | string(?i)NT|\d*(\.\d{0,2})?  Amount of tax that applies to the order The value 'NT' without the quotes indicates a non-taxable (tax exempt) transaction.  | 
| nsf | string  Enum: "yes" "no"   Approve transactions even if there are non-sufficient funds (NSF). This will
result in a partial approval if there are not enough funds to cover the full
requested amount, in which case an  Gift cards default to  If a partial approval is received, it will automatically be reversed internally
and the returned decline will have  Values: 
  | 
object  Lodging parameters  | |
object  Merchant descriptor parameters  | |
object  Merchant lane parameters  | |
| rcpt | string  The  A value of  A value of  All other values are key/value pairs indicating formatting configurations, separated by semicolons, as in this example: Receipt configuration options: 
  | 
| property name* | string   | 
{- "amount": "19.92",
 - "tax": "1.29",
 - "nsf": "yes",
 - "lodging": {
- "advancedeposit": "yes",
 - "noshow": "yes",
 - "bdate": "string",
 - "edate": "string",
 - "excharges": "REST",
 - "rate": "12.00",
 - "roomnum": "string"
 
}, - "merchant_descriptors": {
- "descmerch": "string",
 - "descloc": "string"
 
}, - "lane": {
- "clerkid": "string",
 - "stationid": "7",
 - "laneid": "4",
 - "comments": "string",
 - "divisionnum": "PAYROLL"
 
}, - "rcpt": "yes",
 - "property1": "string",
 - "property2": "string"
 
}{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved",
 - "phard_code": "SUCCESS",
 - "card_currency": "string",
 - "card_cardclass": "CREDIT",
 - "card_cardlevel": "string",
 - "card_country_code": "string",
 - "card_debit_network": "string",
 - "card_ebt_state": "string",
 - "card_fsa": "Y",
 - "card_funding_source": "CREDIT",
 - "card_issuer_bank": "string",
 - "card_msr_cvm": "sig",
 - "card_prepaid": "Y",
 - "card_reloadable": "Y",
 - "card_signature_debit": "Y",
 - "card_token_card": "Y",
 - "rcpt_host_ts": "string",
 - "rcpt_entry_mode": "G",
 - "rcpt_acct_type": "chequing",
 - "rcpt_emv_cvm": "none",
 - "rcpt_emv_pinbypass": "Y",
 - "rcpt_resp_code": "string",
 - "rcpt_issuer_resp_code": "string",
 - "rcpt_emv_aid": "string",
 - "rcpt_emv_name": "string",
 - "rcpt_emv_tvr": "string",
 - "rcpt_emv_tsi": "string",
 - "rcpt_emv_actype": "AAC",
 - "rcpt_emv_ac": "string",
 - "rcpt_emv_form_factor": "string",
 - "rcpt_custom": "string",
 - "rcpt_emv_iad": "string",
 - "rcpt_emv_card_decline": "string",
 - "printdata": "string",
 - "auth": "string",
 - "batch": "string",
 - "issuer_decline": "Y",
 - "item": "string",
 - "stan": "string",
 - "authamount": "string",
 - "balance": "string",
 - "account": "XXXXXXXXXXXX1234",
 - "timestamp": "string",
 - "cardtype": "VISA",
 - "cardholdername": "John Doe",
 - "language": "en",
 - "pclevel": "0",
 - "ttid": "string"
 
}Finalize a Pre-Authorization
Adds the transaction to a batch, and marks it as eligible for settlement.
libmonetra KVS equivalent for endpoint
action = preauthcomplete| ttid  required   | string  Transaction identifier  | 
object  Shipping detail parameters  | |
| zip | string  <= 32 characters   Zip code for AVS verification. All Card Not Present transactions require this to avoid being 'downgraded'  | 
object  Lodging parameters  | |
object  Merchant lane parameters  | |
object  Monetary parameters  | |
object  Order detail parameters  | |
| priority | string  Default:  "normal"  Enum: "low" "normal" "high"   Processing priority. You should process large batches as priority low, so that any real-time transactions that come through will be processed immediately Values: 
  | 
| timeout | string\d+  Length of time transaction can sit in send queue before sending to the processor. This is a hint/estimate and not a hard value  | 
| tokenize | string  Default:  "no"  Enum: "yes" "no"   Whether or not the account data should be tokenized as part of this request. Defaults to  The token will be of type  When enabled, by default, this will generate a new token. If  Values: 
  | 
| matching_token | string  Default:  "no"  Enum: "yes" "no"   When paired with  By default, every tokenization will generate a new token. Sending
 Requires: 
 Values: 
  | 
| rcpt | string  The  A value of  A value of  All other values are key/value pairs indicating formatting configurations, separated by semicolons, as in this example: Receipt configuration options: 
  | 
| property name* | string   | 
{- "shipping": {
- "shipcountry": "str",
 - "shipzip": "string"
 
}, - "zip": "32606",
 - "lodging": {
- "advancedeposit": "yes",
 - "noshow": "yes",
 - "bdate": "string",
 - "edate": "string",
 - "excharges": "REST",
 - "rate": "12.00",
 - "roomnum": "string"
 
}, - "lane": {
- "clerkid": "string",
 - "stationid": "7",
 - "laneid": "4",
 - "comments": "string",
 - "divisionnum": "PAYROLL"
 
}, - "money": {
- "amount": "19.92",
 - "cashbackamount": "20.00",
 - "currency": "string",
 - "examount": "0.33",
 - "surchargeamount": "1.25",
 - "tax": "1.29",
 - "discountamount": "100.00",
 - "dutyamount": "5.07",
 - "freightamount": "225.82"
 
}, - "order": {
- "custref": "55",
 - "ordernum": "A13DDES345",
 - "ptrannum": "1987"
 
}, - "priority": "normal",
 - "timeout": "30",
 - "tokenize": "yes",
 - "matching_token": "yes",
 - "rcpt": "yes",
 - "property1": "string",
 - "property2": "string"
 
}{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved",
 - "phard_code": "SUCCESS",
 - "card_currency": "string",
 - "card_cardclass": "CREDIT",
 - "card_cardlevel": "string",
 - "card_country_code": "string",
 - "card_debit_network": "string",
 - "card_ebt_state": "string",
 - "card_fsa": "Y",
 - "card_funding_source": "CREDIT",
 - "card_issuer_bank": "string",
 - "card_msr_cvm": "sig",
 - "card_prepaid": "Y",
 - "card_reloadable": "Y",
 - "card_signature_debit": "Y",
 - "card_token_card": "Y",
 - "rcpt_host_ts": "string",
 - "rcpt_entry_mode": "G",
 - "rcpt_acct_type": "chequing",
 - "rcpt_emv_cvm": "none",
 - "rcpt_emv_pinbypass": "Y",
 - "rcpt_resp_code": "string",
 - "rcpt_issuer_resp_code": "string",
 - "rcpt_emv_aid": "string",
 - "rcpt_emv_name": "string",
 - "rcpt_emv_tvr": "string",
 - "rcpt_emv_tsi": "string",
 - "rcpt_emv_actype": "AAC",
 - "rcpt_emv_ac": "string",
 - "rcpt_emv_form_factor": "string",
 - "rcpt_custom": "string",
 - "rcpt_emv_iad": "string",
 - "rcpt_emv_card_decline": "string",
 - "printdata": "string",
 - "auth": "string",
 - "batch": "string",
 - "issuer_decline": "Y",
 - "item": "string",
 - "stan": "string",
 - "authamount": "string",
 - "balance": "string",
 - "account": "XXXXXXXXXXXX1234",
 - "cof_authamount": "string",
 - "cof_transid": "string",
 - "cardtype": "VISA",
 - "cardholdername": "John Doe",
 - "language": "en",
 - "pclevel": "0",
 - "avs": "GOOD",
 - "cv": "GOOD",
 - "timestamp": "string",
 - "token": "string",
 - "ttid": "string"
 
}Places a hold on funds without capturing for settlement
This is functionally equivalent to a sale transaction with capture=no. The
difference between sale and preauth is that a preauth is split into two
parts. In both transactions, the transaction data is sent online through the
processor to the issuer. The issuer will approve or decline the transaction and
place a temporary hold on the amount. A sale will add the transaction to a
batch and mark it eligible for settlement. A preauth will not add the
transaction to a batch, and it will be marked as not-yet eligible for
settlement. A preauthcomplete must be performed to add the transaction to a
batch and mark it as eligible for settlement.
The transaction amount can change between the preauth and preauthcomplete.
This should be used if the final amount is not known at the time of authorization.
For example, adding a tip. If the transaction amount is known and not subject to
change, a sale should be used instad.
Some industries, such as E-commerce, necessitate the use of preauth. When selling
physical goods, the final charge (settle) cannot take place until the goods are
shipped. If there is a short delay between taking payment and shipping, a
preauth can be used to delay taking the funds from a customer's account.
You may need to work with your merchant account provider to determine whether
a sale or preauth is more appropriate for your business needs.
libmonetra KVS equivalent for endpoint
action = preauthobject  Account information parameters There are multiple ways to collect the customer's account information. These are the minimum fields required for each entry method. 
 Additional modifiers are also present which can provide information about how
the data was received. For example, Cards and phones can be tapped in which
case the  ENCRYPTION Many of these can be sent encrypted when using an encrypting reader with
a supported encryption method. The  Due to the difference in encrypted reader output and some formats being proprietary limited information about the encrypted account fields are provided. If it is necessary to directly send encrypted reader data to TranSafe please contact support who can work with you and the device manufacturer on how to format the data for the relevant fields to a given device.  | |
object  Verification parameters  | |
object  Shipping detail parameters  | |
object  E-commerce parameters  | |
object  Healthcare parameters  | |
object  Lodging parameters  | |
object  Merchant descriptor parameters  | |
object  Merchant lane parameters  | |
 required   | object  Monetary parameters  | 
object  Order detail parameters  | |
object  PIN data parameters  | |
object  Processing options  | |
object  Recurring group  | |
| nsf | string  Enum: "yes" "no"   Approve transactions even if there are non-sufficient funds (NSF). This will
result in a partial approval if there are not enough funds to cover the full
requested amount, in which case an  Gift cards default to  If a partial approval is received, it will automatically be reversed internally
and the returned decline will have  Values: 
  | 
| tokenize | string  Default:  "no"  Enum: "yes" "no"   Whether or not the account data should be tokenized as part of this request. Defaults to  The token will be of type  When enabled, by default, this will generate a new token. If  Values: 
  | 
| matching_token | string  Default:  "no"  Enum: "yes" "no"   When paired with  By default, every tokenization will generate a new token. Sending
 Requires: 
 Values: 
  | 
| carddenylist_check | string  Enum: "yes" "no"   Check the card deny list before going online for authorization If on the list, decline with  The value  Only the account number is used to determine if there is a match on the list. Other paramters, such as card holder name and card expiration date are not used. Values: 
  | 
| carddenylist_decline | string  Enum: "yes" "no"   Automatically add account to the card deny list if declined by the issuer Values: 
  | 
| rcpt | string  The  A value of  A value of  All other values are key/value pairs indicating formatting configurations, separated by semicolons, as in this example: Receipt configuration options: 
  | 
| ttid | string  Identifier for transaction to duplicate  | 
| property name* | string   | 
{- "account_data": {
- "account": "string",
 - "cardshieldticket": "string",
 - "cardholdername": "John Doe",
 - "cardpresent": "yes",
 - "countrycode": "840",
 - "e_account": "string",
 - "e_datafield": "string",
 - "e_datafieldfmt": "account",
 - "e_datafieldmasked": "string",
 - "e_trackdata": "string",
 - "e_id": "string",
 - "expdate": "0129",
 - "icc": "string",
 - "rfid": "yes",
 - "token": "string",
 - "trackdata": "string",
 - "abaroute": "stringstr",
 - "checknum": "string",
 - "accounttype": "BUSINESS"
 
}, - "verification": {
- "cv": "123",
 - "street": "1st St",
 - "zip": "32606"
 
}, - "shipping": {
- "shipcountry": "str",
 - "shipzip": "string"
 
}, - "ecomm": {
- "3ds_txnid": "string",
 - "cavv": "string",
 - "xid": "stri",
 - "goods": "physical"
 
}, - "health": {
- "healthcare": "yes",
 - "dentalamount": "string",
 - "clinicamount": "string",
 - "otheramount": "string",
 - "rxamount": "string",
 - "transitamount": "string",
 - "visionamount": "string"
 
}, - "lodging": {
- "advancedeposit": "yes",
 - "noshow": "yes",
 - "bdate": "string",
 - "edate": "string",
 - "excharges": "REST",
 - "rate": "12.00",
 - "roomnum": "string"
 
}, - "merchant_descriptors": {
- "descmerch": "string",
 - "descloc": "string"
 
}, - "lane": {
- "clerkid": "string",
 - "stationid": "7",
 - "laneid": "4",
 - "comments": "string",
 - "divisionnum": "PAYROLL"
 
}, - "money": {
- "amount": "19.92",
 - "cashbackamount": "20.00",
 - "currency": "string",
 - "examount": "0.33",
 - "surchargeamount": "1.25",
 - "tax": "1.29",
 - "discountamount": "100.00",
 - "dutyamount": "5.07",
 - "freightamount": "225.82"
 
}, - "order": {
- "custref": "55",
 - "ordernum": "A13DDES345",
 - "ptrannum": "1987"
 
}, - "pin_data": {
- "ksn": "stringstringstri",
 - "pin": "string"
 
}, - "processing_options": {
- "capture": "yes",
 - "debtrepayment": "no",
 - "duplcheck": "no",
 - "priority": "normal",
 - "timeout": "30"
 
}, - "recurring_data": {
- "cof_transid": "string",
 - "cof_authamount": "string",
 - "installment_num": "string",
 - "installment_total": "string",
 - "recurring": "recurring"
 
}, - "nsf": "yes",
 - "tokenize": "yes",
 - "matching_token": "yes",
 - "carddenylist_check": "no",
 - "carddenylist_decline": "no",
 - "rcpt": "yes",
 - "ttid": "string",
 - "property1": "string",
 - "property2": "string"
 
}{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved",
 - "phard_code": "SUCCESS",
 - "card_currency": "string",
 - "card_cardclass": "CREDIT",
 - "card_cardlevel": "string",
 - "card_country_code": "string",
 - "card_debit_network": "string",
 - "card_ebt_state": "string",
 - "card_fsa": "Y",
 - "card_funding_source": "CREDIT",
 - "card_issuer_bank": "string",
 - "card_msr_cvm": "sig",
 - "card_prepaid": "Y",
 - "card_reloadable": "Y",
 - "card_signature_debit": "Y",
 - "card_token_card": "Y",
 - "rcpt_host_ts": "string",
 - "rcpt_entry_mode": "G",
 - "rcpt_acct_type": "chequing",
 - "rcpt_emv_cvm": "none",
 - "rcpt_emv_pinbypass": "Y",
 - "rcpt_resp_code": "string",
 - "rcpt_issuer_resp_code": "string",
 - "rcpt_emv_aid": "string",
 - "rcpt_emv_name": "string",
 - "rcpt_emv_tvr": "string",
 - "rcpt_emv_tsi": "string",
 - "rcpt_emv_actype": "AAC",
 - "rcpt_emv_ac": "string",
 - "rcpt_emv_form_factor": "string",
 - "rcpt_custom": "string",
 - "rcpt_emv_iad": "string",
 - "rcpt_emv_card_decline": "string",
 - "printdata": "string",
 - "auth": "string",
 - "batch": "string",
 - "issuer_decline": "Y",
 - "item": "string",
 - "stan": "string",
 - "authamount": "string",
 - "balance": "string",
 - "account": "XXXXXXXXXXXX1234",
 - "cof_authamount": "string",
 - "cof_transid": "string",
 - "cardtype": "VISA",
 - "cardholdername": "John Doe",
 - "language": "en",
 - "pclevel": "0",
 - "avs": "GOOD",
 - "cv": "GOOD",
 - "timestamp": "string",
 - "token": "string",
 - "carddenylist_id": "string",
 - "ttid": "string"
 
}Run a new transaction as a Pre-Authorization by duplicating transaction data from a previous transaction.
Any previous financial transaction where sensitive data has not been cleared can be duplicated.
When duplicating a previous transaction, data from the referenced transaction will be used. Any parameter can be overridden/replaced. For example, specifying a new amount.
libmonetra KVS equivalent for endpoint
action = preauth| ttid  required   | string  Identifier for transaction to duplicate  | 
object  Account information parameters There are multiple ways to collect the customer's account information. These are the minimum fields required for each entry method. 
 Additional modifiers are also present which can provide information about how
the data was received. For example, Cards and phones can be tapped in which
case the  ENCRYPTION Many of these can be sent encrypted when using an encrypting reader with
a supported encryption method. The  Due to the difference in encrypted reader output and some formats being proprietary limited information about the encrypted account fields are provided. If it is necessary to directly send encrypted reader data to TranSafe please contact support who can work with you and the device manufacturer on how to format the data for the relevant fields to a given device.  | |
object  Verification parameters  | |
object  Shipping detail parameters  | |
object  E-commerce parameters  | |
object  Healthcare parameters  | |
object  Lodging parameters  | |
object  Merchant descriptor parameters  | |
object  Merchant lane parameters  | |
 required   | object  Monetary parameters  | 
object  Order detail parameters  | |
object  PIN data parameters  | |
object  Processing options  | |
object  Recurring group  | |
| nsf | string  Enum: "yes" "no"   Approve transactions even if there are non-sufficient funds (NSF). This will
result in a partial approval if there are not enough funds to cover the full
requested amount, in which case an  Gift cards default to  If a partial approval is received, it will automatically be reversed internally
and the returned decline will have  Values: 
  | 
| tokenize | string  Default:  "no"  Enum: "yes" "no"   Whether or not the account data should be tokenized as part of this request. Defaults to  The token will be of type  When enabled, by default, this will generate a new token. If  Values: 
  | 
| matching_token | string  Default:  "no"  Enum: "yes" "no"   When paired with  By default, every tokenization will generate a new token. Sending
 Requires: 
 Values: 
  | 
| carddenylist_check | string  Enum: "yes" "no"   Check the card deny list before going online for authorization If on the list, decline with  The value  Only the account number is used to determine if there is a match on the list. Other paramters, such as card holder name and card expiration date are not used. Values: 
  | 
| carddenylist_decline | string  Enum: "yes" "no"   Automatically add account to the card deny list if declined by the issuer Values: 
  | 
| rcpt | string  The  A value of  A value of  All other values are key/value pairs indicating formatting configurations, separated by semicolons, as in this example: Receipt configuration options: 
  | 
| property name* | string   | 
{- "account_data": {
- "account": "string",
 - "cardshieldticket": "string",
 - "cardholdername": "John Doe",
 - "cardpresent": "yes",
 - "countrycode": "840",
 - "e_account": "string",
 - "e_datafield": "string",
 - "e_datafieldfmt": "account",
 - "e_datafieldmasked": "string",
 - "e_trackdata": "string",
 - "e_id": "string",
 - "expdate": "0129",
 - "icc": "string",
 - "rfid": "yes",
 - "token": "string",
 - "trackdata": "string",
 - "abaroute": "stringstr",
 - "checknum": "string",
 - "accounttype": "BUSINESS"
 
}, - "verification": {
- "cv": "123",
 - "street": "1st St",
 - "zip": "32606"
 
}, - "shipping": {
- "shipcountry": "str",
 - "shipzip": "string"
 
}, - "ecomm": {
- "3ds_txnid": "string",
 - "cavv": "string",
 - "xid": "stri",
 - "goods": "physical"
 
}, - "health": {
- "healthcare": "yes",
 - "dentalamount": "string",
 - "clinicamount": "string",
 - "otheramount": "string",
 - "rxamount": "string",
 - "transitamount": "string",
 - "visionamount": "string"
 
}, - "lodging": {
- "advancedeposit": "yes",
 - "noshow": "yes",
 - "bdate": "string",
 - "edate": "string",
 - "excharges": "REST",
 - "rate": "12.00",
 - "roomnum": "string"
 
}, - "merchant_descriptors": {
- "descmerch": "string",
 - "descloc": "string"
 
}, - "lane": {
- "clerkid": "string",
 - "stationid": "7",
 - "laneid": "4",
 - "comments": "string",
 - "divisionnum": "PAYROLL"
 
}, - "money": {
- "amount": "19.92",
 - "cashbackamount": "20.00",
 - "currency": "string",
 - "examount": "0.33",
 - "surchargeamount": "1.25",
 - "tax": "1.29",
 - "discountamount": "100.00",
 - "dutyamount": "5.07",
 - "freightamount": "225.82"
 
}, - "order": {
- "custref": "55",
 - "ordernum": "A13DDES345",
 - "ptrannum": "1987"
 
}, - "pin_data": {
- "ksn": "stringstringstri",
 - "pin": "string"
 
}, - "processing_options": {
- "capture": "yes",
 - "debtrepayment": "no",
 - "duplcheck": "no",
 - "priority": "normal",
 - "timeout": "30"
 
}, - "recurring_data": {
- "cof_transid": "string",
 - "cof_authamount": "string",
 - "installment_num": "string",
 - "installment_total": "string",
 - "recurring": "recurring"
 
}, - "nsf": "yes",
 - "tokenize": "yes",
 - "matching_token": "yes",
 - "carddenylist_check": "no",
 - "carddenylist_decline": "no",
 - "rcpt": "yes",
 - "property1": "string",
 - "property2": "string"
 
}{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved",
 - "phard_code": "SUCCESS",
 - "card_currency": "string",
 - "card_cardclass": "CREDIT",
 - "card_cardlevel": "string",
 - "card_country_code": "string",
 - "card_debit_network": "string",
 - "card_ebt_state": "string",
 - "card_fsa": "Y",
 - "card_funding_source": "CREDIT",
 - "card_issuer_bank": "string",
 - "card_msr_cvm": "sig",
 - "card_prepaid": "Y",
 - "card_reloadable": "Y",
 - "card_signature_debit": "Y",
 - "card_token_card": "Y",
 - "rcpt_host_ts": "string",
 - "rcpt_entry_mode": "G",
 - "rcpt_acct_type": "chequing",
 - "rcpt_emv_cvm": "none",
 - "rcpt_emv_pinbypass": "Y",
 - "rcpt_resp_code": "string",
 - "rcpt_issuer_resp_code": "string",
 - "rcpt_emv_aid": "string",
 - "rcpt_emv_name": "string",
 - "rcpt_emv_tvr": "string",
 - "rcpt_emv_tsi": "string",
 - "rcpt_emv_actype": "AAC",
 - "rcpt_emv_ac": "string",
 - "rcpt_emv_form_factor": "string",
 - "rcpt_custom": "string",
 - "rcpt_emv_iad": "string",
 - "rcpt_emv_card_decline": "string",
 - "printdata": "string",
 - "auth": "string",
 - "batch": "string",
 - "issuer_decline": "Y",
 - "item": "string",
 - "stan": "string",
 - "authamount": "string",
 - "balance": "string",
 - "account": "XXXXXXXXXXXX1234",
 - "cof_authamount": "string",
 - "cof_transid": "string",
 - "cardtype": "VISA",
 - "cardholdername": "John Doe",
 - "language": "en",
 - "pclevel": "0",
 - "avs": "GOOD",
 - "cv": "GOOD",
 - "timestamp": "string",
 - "token": "string",
 - "carddenylist_id": "string",
 - "ttid": "string"
 
}Debits available funds from cardholder's account.
The transaction amount is assumed to be the final transaction amount that will
be settled. If the transaction amount is subject to change, a preauth
transaction should be used instead.
libmonetra KVS equivalent for endpoint
action = saleobject  Account information parameters There are multiple ways to collect the customer's account information. These are the minimum fields required for each entry method. 
 Additional modifiers are also present which can provide information about how
the data was received. For example, Cards and phones can be tapped in which
case the  ENCRYPTION Many of these can be sent encrypted when using an encrypting reader with
a supported encryption method. The  Due to the difference in encrypted reader output and some formats being proprietary limited information about the encrypted account fields are provided. If it is necessary to directly send encrypted reader data to TranSafe please contact support who can work with you and the device manufacturer on how to format the data for the relevant fields to a given device.  | |
object  Verification parameters  | |
object  Shipping detail parameters  | |
object  E-commerce parameters  | |
object  Healthcare parameters  | |
object  Lodging parameters  | |
object  Merchant descriptor parameters  | |
object  Merchant lane parameters  | |
 required   | object  Monetary parameters  | 
object  Order detail parameters  | |
object  PIN data parameters  | |
object  Processing options  | |
object  Recurring group  | |
| nsf | string  Enum: "yes" "no"   Approve transactions even if there are non-sufficient funds (NSF). This will
result in a partial approval if there are not enough funds to cover the full
requested amount, in which case an  Gift cards default to  If a partial approval is received, it will automatically be reversed internally
and the returned decline will have  Values: 
  | 
| tokenize | string  Default:  "no"  Enum: "yes" "no"   Whether or not the account data should be tokenized as part of this request. Defaults to  The token will be of type  When enabled, by default, this will generate a new token. If  Values: 
  | 
| matching_token | string  Default:  "no"  Enum: "yes" "no"   When paired with  By default, every tokenization will generate a new token. Sending
 Requires: 
 Values: 
  | 
| carddenylist_check | string  Enum: "yes" "no"   Check the card deny list before going online for authorization If on the list, decline with  The value  Only the account number is used to determine if there is a match on the list. Other paramters, such as card holder name and card expiration date are not used. Values: 
  | 
| carddenylist_decline | string  Enum: "yes" "no"   Automatically add account to the card deny list if declined by the issuer Values: 
  | 
| rcpt | string  The  A value of  A value of  All other values are key/value pairs indicating formatting configurations, separated by semicolons, as in this example: Receipt configuration options: 
  | 
| ttid | string  Identifier for transaction to duplicate  | 
| property name* | string   | 
{- "account_data": {
- "account": "string",
 - "cardshieldticket": "string",
 - "cardholdername": "John Doe",
 - "cardpresent": "yes",
 - "countrycode": "840",
 - "e_account": "string",
 - "e_datafield": "string",
 - "e_datafieldfmt": "account",
 - "e_datafieldmasked": "string",
 - "e_trackdata": "string",
 - "e_id": "string",
 - "expdate": "0129",
 - "icc": "string",
 - "rfid": "yes",
 - "token": "string",
 - "trackdata": "string",
 - "abaroute": "stringstr",
 - "checknum": "string",
 - "accounttype": "BUSINESS"
 
}, - "verification": {
- "cv": "123",
 - "street": "1st St",
 - "zip": "32606"
 
}, - "shipping": {
- "shipcountry": "str",
 - "shipzip": "string"
 
}, - "ecomm": {
- "3ds_txnid": "string",
 - "cavv": "string",
 - "xid": "stri",
 - "goods": "physical"
 
}, - "health": {
- "healthcare": "yes",
 - "dentalamount": "string",
 - "clinicamount": "string",
 - "otheramount": "string",
 - "rxamount": "string",
 - "transitamount": "string",
 - "visionamount": "string"
 
}, - "lodging": {
- "advancedeposit": "yes",
 - "noshow": "yes",
 - "bdate": "string",
 - "edate": "string",
 - "excharges": "REST",
 - "rate": "12.00",
 - "roomnum": "string"
 
}, - "merchant_descriptors": {
- "descmerch": "string",
 - "descloc": "string"
 
}, - "lane": {
- "clerkid": "string",
 - "stationid": "7",
 - "laneid": "4",
 - "comments": "string",
 - "divisionnum": "PAYROLL"
 
}, - "money": {
- "amount": "19.92",
 - "cashbackamount": "20.00",
 - "currency": "string",
 - "examount": "0.33",
 - "surchargeamount": "1.25",
 - "tax": "1.29",
 - "discountamount": "100.00",
 - "dutyamount": "5.07",
 - "freightamount": "225.82"
 
}, - "order": {
- "custref": "55",
 - "ordernum": "A13DDES345",
 - "ptrannum": "1987"
 
}, - "pin_data": {
- "ksn": "stringstringstri",
 - "pin": "string"
 
}, - "processing_options": {
- "capture": "yes",
 - "debtrepayment": "no",
 - "duplcheck": "no",
 - "priority": "normal",
 - "timeout": "30"
 
}, - "recurring_data": {
- "cof_transid": "string",
 - "cof_authamount": "string",
 - "installment_num": "string",
 - "installment_total": "string",
 - "recurring": "recurring"
 
}, - "nsf": "yes",
 - "tokenize": "yes",
 - "matching_token": "yes",
 - "carddenylist_check": "no",
 - "carddenylist_decline": "no",
 - "rcpt": "yes",
 - "ttid": "string",
 - "property1": "string",
 - "property2": "string"
 
}{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved",
 - "phard_code": "SUCCESS",
 - "card_currency": "string",
 - "card_cardclass": "CREDIT",
 - "card_cardlevel": "string",
 - "card_country_code": "string",
 - "card_debit_network": "string",
 - "card_ebt_state": "string",
 - "card_fsa": "Y",
 - "card_funding_source": "CREDIT",
 - "card_issuer_bank": "string",
 - "card_msr_cvm": "sig",
 - "card_prepaid": "Y",
 - "card_reloadable": "Y",
 - "card_signature_debit": "Y",
 - "card_token_card": "Y",
 - "rcpt_host_ts": "string",
 - "rcpt_entry_mode": "G",
 - "rcpt_acct_type": "chequing",
 - "rcpt_emv_cvm": "none",
 - "rcpt_emv_pinbypass": "Y",
 - "rcpt_resp_code": "string",
 - "rcpt_issuer_resp_code": "string",
 - "rcpt_emv_aid": "string",
 - "rcpt_emv_name": "string",
 - "rcpt_emv_tvr": "string",
 - "rcpt_emv_tsi": "string",
 - "rcpt_emv_actype": "AAC",
 - "rcpt_emv_ac": "string",
 - "rcpt_emv_form_factor": "string",
 - "rcpt_custom": "string",
 - "rcpt_emv_iad": "string",
 - "rcpt_emv_card_decline": "string",
 - "printdata": "string",
 - "auth": "string",
 - "batch": "string",
 - "issuer_decline": "Y",
 - "item": "string",
 - "stan": "string",
 - "authamount": "string",
 - "balance": "string",
 - "account": "XXXXXXXXXXXX1234",
 - "cof_authamount": "string",
 - "cof_transid": "string",
 - "cardtype": "VISA",
 - "cardholdername": "John Doe",
 - "language": "en",
 - "pclevel": "0",
 - "avs": "GOOD",
 - "cv": "GOOD",
 - "timestamp": "string",
 - "token": "string",
 - "carddenylist_id": "string",
 - "ttid": "string"
 
}Run a new transaction as a purchase by duplicating transaction data from a previous transaction.
Any previous financial transaction where sensitive data has not been cleared can be duplicated.
When duplicating a previous transaction, data from the referenced transaction will be used. Any parameter can be overridden/replaced. For example, specifying a new amount.
libmonetra KVS equivalent for endpoint
action = sale| ttid  required   | string  Identifier for transaction to duplicate  | 
object  Account information parameters There are multiple ways to collect the customer's account information. These are the minimum fields required for each entry method. 
 Additional modifiers are also present which can provide information about how
the data was received. For example, Cards and phones can be tapped in which
case the  ENCRYPTION Many of these can be sent encrypted when using an encrypting reader with
a supported encryption method. The  Due to the difference in encrypted reader output and some formats being proprietary limited information about the encrypted account fields are provided. If it is necessary to directly send encrypted reader data to TranSafe please contact support who can work with you and the device manufacturer on how to format the data for the relevant fields to a given device.  | |
object  Verification parameters  | |
object  Shipping detail parameters  | |
object  E-commerce parameters  | |
object  Healthcare parameters  | |
object  Lodging parameters  | |
object  Merchant descriptor parameters  | |
object  Merchant lane parameters  | |
 required   | object  Monetary parameters  | 
object  Order detail parameters  | |
object  PIN data parameters  | |
object  Processing options  | |
object  Recurring group  | |
| nsf | string  Enum: "yes" "no"   Approve transactions even if there are non-sufficient funds (NSF). This will
result in a partial approval if there are not enough funds to cover the full
requested amount, in which case an  Gift cards default to  If a partial approval is received, it will automatically be reversed internally
and the returned decline will have  Values: 
  | 
| tokenize | string  Default:  "no"  Enum: "yes" "no"   Whether or not the account data should be tokenized as part of this request. Defaults to  The token will be of type  When enabled, by default, this will generate a new token. If  Values: 
  | 
| matching_token | string  Default:  "no"  Enum: "yes" "no"   When paired with  By default, every tokenization will generate a new token. Sending
 Requires: 
 Values: 
  | 
| carddenylist_check | string  Enum: "yes" "no"   Check the card deny list before going online for authorization If on the list, decline with  The value  Only the account number is used to determine if there is a match on the list. Other paramters, such as card holder name and card expiration date are not used. Values: 
  | 
| carddenylist_decline | string  Enum: "yes" "no"   Automatically add account to the card deny list if declined by the issuer Values: 
  | 
| rcpt | string  The  A value of  A value of  All other values are key/value pairs indicating formatting configurations, separated by semicolons, as in this example: Receipt configuration options: 
  | 
| property name* | string   | 
{- "account_data": {
- "account": "string",
 - "cardshieldticket": "string",
 - "cardholdername": "John Doe",
 - "cardpresent": "yes",
 - "countrycode": "840",
 - "e_account": "string",
 - "e_datafield": "string",
 - "e_datafieldfmt": "account",
 - "e_datafieldmasked": "string",
 - "e_trackdata": "string",
 - "e_id": "string",
 - "expdate": "0129",
 - "icc": "string",
 - "rfid": "yes",
 - "token": "string",
 - "trackdata": "string",
 - "abaroute": "stringstr",
 - "checknum": "string",
 - "accounttype": "BUSINESS"
 
}, - "verification": {
- "cv": "123",
 - "street": "1st St",
 - "zip": "32606"
 
}, - "shipping": {
- "shipcountry": "str",
 - "shipzip": "string"
 
}, - "ecomm": {
- "3ds_txnid": "string",
 - "cavv": "string",
 - "xid": "stri",
 - "goods": "physical"
 
}, - "health": {
- "healthcare": "yes",
 - "dentalamount": "string",
 - "clinicamount": "string",
 - "otheramount": "string",
 - "rxamount": "string",
 - "transitamount": "string",
 - "visionamount": "string"
 
}, - "lodging": {
- "advancedeposit": "yes",
 - "noshow": "yes",
 - "bdate": "string",
 - "edate": "string",
 - "excharges": "REST",
 - "rate": "12.00",
 - "roomnum": "string"
 
}, - "merchant_descriptors": {
- "descmerch": "string",
 - "descloc": "string"
 
}, - "lane": {
- "clerkid": "string",
 - "stationid": "7",
 - "laneid": "4",
 - "comments": "string",
 - "divisionnum": "PAYROLL"
 
}, - "money": {
- "amount": "19.92",
 - "cashbackamount": "20.00",
 - "currency": "string",
 - "examount": "0.33",
 - "surchargeamount": "1.25",
 - "tax": "1.29",
 - "discountamount": "100.00",
 - "dutyamount": "5.07",
 - "freightamount": "225.82"
 
}, - "order": {
- "custref": "55",
 - "ordernum": "A13DDES345",
 - "ptrannum": "1987"
 
}, - "pin_data": {
- "ksn": "stringstringstri",
 - "pin": "string"
 
}, - "processing_options": {
- "capture": "yes",
 - "debtrepayment": "no",
 - "duplcheck": "no",
 - "priority": "normal",
 - "timeout": "30"
 
}, - "recurring_data": {
- "cof_transid": "string",
 - "cof_authamount": "string",
 - "installment_num": "string",
 - "installment_total": "string",
 - "recurring": "recurring"
 
}, - "nsf": "yes",
 - "tokenize": "yes",
 - "matching_token": "yes",
 - "carddenylist_check": "no",
 - "carddenylist_decline": "no",
 - "rcpt": "yes",
 - "property1": "string",
 - "property2": "string"
 
}{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved",
 - "phard_code": "SUCCESS",
 - "card_currency": "string",
 - "card_cardclass": "CREDIT",
 - "card_cardlevel": "string",
 - "card_country_code": "string",
 - "card_debit_network": "string",
 - "card_ebt_state": "string",
 - "card_fsa": "Y",
 - "card_funding_source": "CREDIT",
 - "card_issuer_bank": "string",
 - "card_msr_cvm": "sig",
 - "card_prepaid": "Y",
 - "card_reloadable": "Y",
 - "card_signature_debit": "Y",
 - "card_token_card": "Y",
 - "rcpt_host_ts": "string",
 - "rcpt_entry_mode": "G",
 - "rcpt_acct_type": "chequing",
 - "rcpt_emv_cvm": "none",
 - "rcpt_emv_pinbypass": "Y",
 - "rcpt_resp_code": "string",
 - "rcpt_issuer_resp_code": "string",
 - "rcpt_emv_aid": "string",
 - "rcpt_emv_name": "string",
 - "rcpt_emv_tvr": "string",
 - "rcpt_emv_tsi": "string",
 - "rcpt_emv_actype": "AAC",
 - "rcpt_emv_ac": "string",
 - "rcpt_emv_form_factor": "string",
 - "rcpt_custom": "string",
 - "rcpt_emv_iad": "string",
 - "rcpt_emv_card_decline": "string",
 - "printdata": "string",
 - "auth": "string",
 - "batch": "string",
 - "issuer_decline": "Y",
 - "item": "string",
 - "stan": "string",
 - "authamount": "string",
 - "balance": "string",
 - "account": "XXXXXXXXXXXX1234",
 - "cof_authamount": "string",
 - "cof_transid": "string",
 - "cardtype": "VISA",
 - "cardholdername": "John Doe",
 - "language": "en",
 - "pclevel": "0",
 - "avs": "GOOD",
 - "cv": "GOOD",
 - "timestamp": "string",
 - "token": "string",
 - "carddenylist_id": "string",
 - "ttid": "string"
 
}Refunds a prior purchase
Also used to load funds onto a gift card.
For credit and gift cards, instead of sending the sensitive account info, a prior
transaction's ttid may be referenced (if the transaction hasn't been secured or
purged).
If the transaction being referenced is still unsettled, the refund amount must
be different than the original authorization amount; if not, reversal should
be used instead.
Gift cards use this operation to load funds onto the cards and is not specifically intended for returning a product. Instead a gift merchandise refund should be used for that situation. If the gift card provider does not support the merchandise refund operation, this refund operation should be used.
libmonetra KVS equivalent for endpoint
action = returnobject  Account information parameters There are multiple ways to collect the customer's account information. These are the minimum fields required for each entry method. 
 Additional modifiers are also present which can provide information about how
the data was received. For example, Cards and phones can be tapped in which
case the  ENCRYPTION Many of these can be sent encrypted when using an encrypting reader with
a supported encryption method. The  Due to the difference in encrypted reader output and some formats being proprietary limited information about the encrypted account fields are provided. If it is necessary to directly send encrypted reader data to TranSafe please contact support who can work with you and the device manufacturer on how to format the data for the relevant fields to a given device.  | |
object  Merchant descriptor parameters  | |
object  Merchant lane parameters  | |
object  Monetary parameters  | |
object  Order detail parameters  | |
object  PIN data parameters  | |
object  Recurring group  | |
| priority | string  Default:  "normal"  Enum: "low" "normal" "high"   Processing priority. You should process large batches as priority low, so that any real-time transactions that come through will be processed immediately Values: 
  | 
| timeout | string\d+  Length of time transaction can sit in send queue before sending to the processor. This is a hint/estimate and not a hard value  | 
| tokenize | string  Default:  "no"  Enum: "yes" "no"   Whether or not the account data should be tokenized as part of this request. Defaults to  The token will be of type  When enabled, by default, this will generate a new token. If  Values: 
  | 
| matching_token | string  Default:  "no"  Enum: "yes" "no"   When paired with  By default, every tokenization will generate a new token. Sending
 Requires: 
 Values: 
  | 
| rcpt | string  The  A value of  A value of  All other values are key/value pairs indicating formatting configurations, separated by semicolons, as in this example: Receipt configuration options: 
  | 
| ttid | string  Identifier for transaction to refund  | 
| property name* | string   | 
{- "account_data": {
- "account": "string",
 - "cardshieldticket": "string",
 - "cardholdername": "John Doe",
 - "cardpresent": "yes",
 - "countrycode": "840",
 - "e_account": "string",
 - "e_datafield": "string",
 - "e_datafieldfmt": "account",
 - "e_datafieldmasked": "string",
 - "e_trackdata": "string",
 - "e_id": "string",
 - "expdate": "0129",
 - "icc": "string",
 - "rfid": "yes",
 - "token": "string",
 - "trackdata": "string",
 - "abaroute": "stringstr",
 - "checknum": "string",
 - "accounttype": "BUSINESS"
 
}, - "merchant_descriptors": {
- "descmerch": "string",
 - "descloc": "string"
 
}, - "lane": {
- "clerkid": "string",
 - "stationid": "7",
 - "laneid": "4",
 - "comments": "string",
 - "divisionnum": "PAYROLL"
 
}, - "money": {
- "amount": "19.92",
 - "cashbackamount": "20.00",
 - "currency": "string",
 - "examount": "0.33",
 - "surchargeamount": "1.25",
 - "tax": "1.29",
 - "discountamount": "100.00",
 - "dutyamount": "5.07",
 - "freightamount": "225.82"
 
}, - "order": {
- "custref": "55",
 - "ordernum": "A13DDES345",
 - "ptrannum": "1987"
 
}, - "pin_data": {
- "ksn": "stringstringstri",
 - "pin": "string"
 
}, - "recurring_data": {
- "cof_transid": "string",
 - "cof_authamount": "string",
 - "installment_num": "string",
 - "installment_total": "string",
 - "recurring": "recurring"
 
}, - "priority": "normal",
 - "timeout": "30",
 - "tokenize": "yes",
 - "matching_token": "yes",
 - "rcpt": "yes",
 - "ttid": "string",
 - "property1": "string",
 - "property2": "string"
 
}{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved",
 - "phard_code": "SUCCESS",
 - "card_currency": "string",
 - "card_cardclass": "CREDIT",
 - "card_cardlevel": "string",
 - "card_country_code": "string",
 - "card_debit_network": "string",
 - "card_ebt_state": "string",
 - "card_fsa": "Y",
 - "card_funding_source": "CREDIT",
 - "card_issuer_bank": "string",
 - "card_msr_cvm": "sig",
 - "card_prepaid": "Y",
 - "card_reloadable": "Y",
 - "card_signature_debit": "Y",
 - "card_token_card": "Y",
 - "rcpt_host_ts": "string",
 - "rcpt_entry_mode": "G",
 - "rcpt_acct_type": "chequing",
 - "rcpt_emv_cvm": "none",
 - "rcpt_emv_pinbypass": "Y",
 - "rcpt_resp_code": "string",
 - "rcpt_issuer_resp_code": "string",
 - "rcpt_emv_aid": "string",
 - "rcpt_emv_name": "string",
 - "rcpt_emv_tvr": "string",
 - "rcpt_emv_tsi": "string",
 - "rcpt_emv_actype": "AAC",
 - "rcpt_emv_ac": "string",
 - "rcpt_emv_form_factor": "string",
 - "rcpt_custom": "string",
 - "rcpt_emv_iad": "string",
 - "rcpt_emv_card_decline": "string",
 - "printdata": "string",
 - "auth": "string",
 - "batch": "string",
 - "issuer_decline": "Y",
 - "item": "string",
 - "stan": "string",
 - "authamount": "string",
 - "balance": "string",
 - "account": "XXXXXXXXXXXX1234",
 - "cof_authamount": "string",
 - "cof_transid": "string",
 - "cardtype": "VISA",
 - "cardholdername": "John Doe",
 - "language": "en",
 - "pclevel": "0",
 - "timestamp": "string",
 - "token": "string",
 - "ttid": "string"
 
}Issue a refund based on a previous transaction
If amount is not specified, the amount from the referenced transaction will be used.
libmonetra KVS equivalent for endpoint
action = return| ttid  required   | string  Identifier for transaction to refund  | 
object  Account information parameters There are multiple ways to collect the customer's account information. These are the minimum fields required for each entry method. 
 Additional modifiers are also present which can provide information about how
the data was received. For example, Cards and phones can be tapped in which
case the  ENCRYPTION Many of these can be sent encrypted when using an encrypting reader with
a supported encryption method. The  Due to the difference in encrypted reader output and some formats being proprietary limited information about the encrypted account fields are provided. If it is necessary to directly send encrypted reader data to TranSafe please contact support who can work with you and the device manufacturer on how to format the data for the relevant fields to a given device.  | |
object  Merchant descriptor parameters  | |
object  Merchant lane parameters  | |
object  Monetary parameters  | |
object  Order detail parameters  | |
object  PIN data parameters  | |
object  Recurring group  | |
| priority | string  Default:  "normal"  Enum: "low" "normal" "high"   Processing priority. You should process large batches as priority low, so that any real-time transactions that come through will be processed immediately Values: 
  | 
| timeout | string\d+  Length of time transaction can sit in send queue before sending to the processor. This is a hint/estimate and not a hard value  | 
| tokenize | string  Default:  "no"  Enum: "yes" "no"   Whether or not the account data should be tokenized as part of this request. Defaults to  The token will be of type  When enabled, by default, this will generate a new token. If  Values: 
  | 
| matching_token | string  Default:  "no"  Enum: "yes" "no"   When paired with  By default, every tokenization will generate a new token. Sending
 Requires: 
 Values: 
  | 
| rcpt | string  The  A value of  A value of  All other values are key/value pairs indicating formatting configurations, separated by semicolons, as in this example: Receipt configuration options: 
  | 
| property name* | string   | 
{- "account_data": {
- "account": "string",
 - "cardshieldticket": "string",
 - "cardholdername": "John Doe",
 - "cardpresent": "yes",
 - "countrycode": "840",
 - "e_account": "string",
 - "e_datafield": "string",
 - "e_datafieldfmt": "account",
 - "e_datafieldmasked": "string",
 - "e_trackdata": "string",
 - "e_id": "string",
 - "expdate": "0129",
 - "icc": "string",
 - "rfid": "yes",
 - "token": "string",
 - "trackdata": "string",
 - "abaroute": "stringstr",
 - "checknum": "string",
 - "accounttype": "BUSINESS"
 
}, - "merchant_descriptors": {
- "descmerch": "string",
 - "descloc": "string"
 
}, - "lane": {
- "clerkid": "string",
 - "stationid": "7",
 - "laneid": "4",
 - "comments": "string",
 - "divisionnum": "PAYROLL"
 
}, - "money": {
- "amount": "19.92",
 - "cashbackamount": "20.00",
 - "currency": "string",
 - "examount": "0.33",
 - "surchargeamount": "1.25",
 - "tax": "1.29",
 - "discountamount": "100.00",
 - "dutyamount": "5.07",
 - "freightamount": "225.82"
 
}, - "order": {
- "custref": "55",
 - "ordernum": "A13DDES345",
 - "ptrannum": "1987"
 
}, - "pin_data": {
- "ksn": "stringstringstri",
 - "pin": "string"
 
}, - "recurring_data": {
- "cof_transid": "string",
 - "cof_authamount": "string",
 - "installment_num": "string",
 - "installment_total": "string",
 - "recurring": "recurring"
 
}, - "priority": "normal",
 - "timeout": "30",
 - "tokenize": "yes",
 - "matching_token": "yes",
 - "rcpt": "yes",
 - "property1": "string",
 - "property2": "string"
 
}{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved",
 - "phard_code": "SUCCESS",
 - "card_currency": "string",
 - "card_cardclass": "CREDIT",
 - "card_cardlevel": "string",
 - "card_country_code": "string",
 - "card_debit_network": "string",
 - "card_ebt_state": "string",
 - "card_fsa": "Y",
 - "card_funding_source": "CREDIT",
 - "card_issuer_bank": "string",
 - "card_msr_cvm": "sig",
 - "card_prepaid": "Y",
 - "card_reloadable": "Y",
 - "card_signature_debit": "Y",
 - "card_token_card": "Y",
 - "rcpt_host_ts": "string",
 - "rcpt_entry_mode": "G",
 - "rcpt_acct_type": "chequing",
 - "rcpt_emv_cvm": "none",
 - "rcpt_emv_pinbypass": "Y",
 - "rcpt_resp_code": "string",
 - "rcpt_issuer_resp_code": "string",
 - "rcpt_emv_aid": "string",
 - "rcpt_emv_name": "string",
 - "rcpt_emv_tvr": "string",
 - "rcpt_emv_tsi": "string",
 - "rcpt_emv_actype": "AAC",
 - "rcpt_emv_ac": "string",
 - "rcpt_emv_form_factor": "string",
 - "rcpt_custom": "string",
 - "rcpt_emv_iad": "string",
 - "rcpt_emv_card_decline": "string",
 - "printdata": "string",
 - "auth": "string",
 - "batch": "string",
 - "issuer_decline": "Y",
 - "item": "string",
 - "stan": "string",
 - "authamount": "string",
 - "balance": "string",
 - "account": "XXXXXXXXXXXX1234",
 - "cof_authamount": "string",
 - "cof_transid": "string",
 - "cardtype": "VISA",
 - "cardholdername": "John Doe",
 - "language": "en",
 - "pclevel": "0",
 - "timestamp": "string",
 - "token": "string",
 - "ttid": "string"
 
}Verifies avs and cv data
The two main uses for this operation are to:
avs and cv for fraud logicThis does not verify availability of funds. This is account verification only.
libmonetra KVS equivalent for endpoint
action = avsonlyobject  Account information parameters There are multiple ways to collect the customer's account information. These are the minimum fields required for each entry method. 
 Additional modifiers are also present which can provide information about how
the data was received. For example, Cards and phones can be tapped in which
case the  ENCRYPTION Many of these can be sent encrypted when using an encrypting reader with
a supported encryption method. The  Due to the difference in encrypted reader output and some formats being proprietary limited information about the encrypted account fields are provided. If it is necessary to directly send encrypted reader data to TranSafe please contact support who can work with you and the device manufacturer on how to format the data for the relevant fields to a given device.  | |
object  Verification parameters  | |
| tokenize | string  Default:  "no"  Enum: "yes" "no"   Whether or not the account data should be tokenized as part of this request. Defaults to  The token will be of type  When enabled, by default, this will generate a new token. If  Values: 
  | 
| matching_token | string  Default:  "no"  Enum: "yes" "no"   When paired with  By default, every tokenization will generate a new token. Sending
 Requires: 
 Values: 
  | 
| carddenylist_check | string  Enum: "yes" "no"   Check the card deny list before going online for authorization If on the list, decline with  The value  Only the account number is used to determine if there is a match on the list. Other paramters, such as card holder name and card expiration date are not used. Values: 
  | 
| carddenylist_decline | string  Enum: "yes" "no"   Automatically add account to the card deny list if declined by the issuer Values: 
  | 
| property name* | string   | 
{- "account_data": {
- "account": "string",
 - "cardshieldticket": "string",
 - "cardholdername": "John Doe",
 - "cardpresent": "yes",
 - "countrycode": "840",
 - "e_account": "string",
 - "e_datafield": "string",
 - "e_datafieldfmt": "account",
 - "e_datafieldmasked": "string",
 - "e_trackdata": "string",
 - "e_id": "string",
 - "expdate": "0129",
 - "icc": "string",
 - "rfid": "yes",
 - "token": "string",
 - "trackdata": "string",
 - "abaroute": "stringstr",
 - "checknum": "string",
 - "accounttype": "BUSINESS"
 
}, - "verification": {
- "cv": "123",
 - "street": "1st St",
 - "zip": "32606"
 
}, - "tokenize": "yes",
 - "matching_token": "yes",
 - "carddenylist_check": "no",
 - "carddenylist_decline": "no",
 - "property1": "string",
 - "property2": "string"
 
}{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved",
 - "phard_code": "SUCCESS",
 - "card_currency": "string",
 - "card_cardclass": "CREDIT",
 - "card_cardlevel": "string",
 - "card_country_code": "string",
 - "card_debit_network": "string",
 - "card_ebt_state": "string",
 - "card_fsa": "Y",
 - "card_funding_source": "CREDIT",
 - "card_issuer_bank": "string",
 - "card_msr_cvm": "sig",
 - "card_prepaid": "Y",
 - "card_reloadable": "Y",
 - "card_signature_debit": "Y",
 - "card_token_card": "Y",
 - "rcpt_host_ts": "string",
 - "rcpt_entry_mode": "G",
 - "rcpt_acct_type": "chequing",
 - "rcpt_emv_cvm": "none",
 - "rcpt_emv_pinbypass": "Y",
 - "rcpt_resp_code": "string",
 - "rcpt_issuer_resp_code": "string",
 - "rcpt_emv_aid": "string",
 - "rcpt_emv_name": "string",
 - "rcpt_emv_tvr": "string",
 - "rcpt_emv_tsi": "string",
 - "rcpt_emv_actype": "AAC",
 - "rcpt_emv_ac": "string",
 - "rcpt_emv_form_factor": "string",
 - "rcpt_custom": "string",
 - "rcpt_emv_iad": "string",
 - "rcpt_emv_card_decline": "string",
 - "printdata": "string",
 - "account": "XXXXXXXXXXXX1234",
 - "cardtype": "VISA",
 - "cardholdername": "John Doe",
 - "language": "en",
 - "pclevel": "0",
 - "avs": "GOOD",
 - "cv": "GOOD",
 - "timestamp": "string",
 - "token": "string",
 - "carddenylist_id": "string"
 
}Removes a previously authorized transaction
In the vast majority of cases, a reversal should be used and not a void.
In many instances this is not a real time transaction, and the funds held on the customer's account will not be removed. There is no guarantee this will be an online transaction.
The main use for a void is to ensure the transaction will not settle if a
'reversal' was issued and failed. Since this can be an offline transaction,
processor permitting, there is still a chance of success.
Realize that a reversal can fail for legitimate reasons, such as the
transaction already being settled, in which case a refund should be issued. Another
case is when the transaction has already been reversed. These are the most
likely cases for a reversal failing, so the reversal response should be
evaluated to determine if a void is actually necessary as a follow up.
libmonetra KVS equivalent for endpoint
action = void| ttid  required   | string  Transaction identifier  | 
curl -X DELETE 'https://test.transafe.com/api/v1/transaction/926573735405091/void' --basic -u 'test_retail|public:publ1ct3st'
{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved",
 - "phard_code": "SUCCESS",
 - "card_currency": "string",
 - "card_cardclass": "CREDIT",
 - "card_cardlevel": "string",
 - "card_country_code": "string",
 - "card_debit_network": "string",
 - "card_ebt_state": "string",
 - "card_fsa": "Y",
 - "card_funding_source": "CREDIT",
 - "card_issuer_bank": "string",
 - "card_msr_cvm": "sig",
 - "card_prepaid": "Y",
 - "card_reloadable": "Y",
 - "card_signature_debit": "Y",
 - "card_token_card": "Y",
 - "rcpt_host_ts": "string",
 - "rcpt_entry_mode": "G",
 - "rcpt_acct_type": "chequing",
 - "rcpt_emv_cvm": "none",
 - "rcpt_emv_pinbypass": "Y",
 - "rcpt_resp_code": "string",
 - "rcpt_issuer_resp_code": "string",
 - "rcpt_emv_aid": "string",
 - "rcpt_emv_name": "string",
 - "rcpt_emv_tvr": "string",
 - "rcpt_emv_tsi": "string",
 - "rcpt_emv_actype": "AAC",
 - "rcpt_emv_ac": "string",
 - "rcpt_emv_form_factor": "string",
 - "rcpt_custom": "string",
 - "rcpt_emv_iad": "string",
 - "rcpt_emv_card_decline": "string",
 - "printdata": "string",
 - "auth": "string",
 - "batch": "string",
 - "issuer_decline": "Y",
 - "item": "string",
 - "stan": "string",
 - "account": "XXXXXXXXXXXX1234",
 - "timestamp": "string",
 - "cardtype": "VISA",
 - "cardholdername": "John Doe",
 - "language": "en",
 - "pclevel": "0",
 - "ttid": "string"
 
}Removes transactions from the failed history
libmonetra KVS equivalent for endpoint
action = adminadmin = cfh| bdate | string  Start of date range  | 
| edate | string  End of date range  | 
curl -X DELETE 'https://test.transafe.com/api/v1/report/failed' --basic -u 'test_retail|public:publ1ct3st'
{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved"
 
}Lists all failed transactions for the requested user (merchant) account
The resulting report will contain these headers:
ttid, msoft_code, phard_code, type, proc, entrymode, txnstatus,
tranflags, card, abaroute, account, expdate, checknum, timestamp,
accounttype, code, verbiage, reasoncode, amount, batch,
cardholdername, avs, cv, clerkid, stationid, comments,
divisionnum, promoid, descmerch, ptrannum, ordernum, custref, userlibmonetra KVS equivalent for endpoint
action = adminadmin = gft| acct | string  Account number for auditing Note: Only the last four digits of the card should be sent  | 
| amount | string   Example:  amount=19.92 Amount of money, including decimal. E.g  This is the total amount and is an aggregate of all supplementary amounts.  | 
| bdate | string  Start of date range  | 
| edate | string  End of date range  | 
| cardholdername | string   Example:  cardholdername=John Doe Name of the cardholder  | 
| cardtypes | object  Enum: "VISA" "MC" "AMEX" "DISC" "DINERS" "JCB" "BML" "GIFT" "VISADEBIT" "MCDEBIT" "OTHERDEBIT" "EBT" "CHECK" "INTERAC" "CUP" "PAYPALEC" "ACH"    Example:  cardtypes=VISA|MC Cardtypes Pipe (|) separated. Cardtype support is dependant on the processor. Not all processor support all cardtypes. Flag values (pipe separated): 
  | 
| clerkid | string  Identifier for the clerk running the transaction  | 
| comments | string  User-defined comments related to the transaction  | 
| ptrannum | string   Example:  ptrannum=1987 Numeric-only transaction number. If ordernum is present, it will supersede and be preferred over ptrannum  | 
| stationid | string   Example:  stationid=7 Identifier for the physical station running the transaction  | 
| type | string   Example:  type=sale Type of action that was taken. Can be a pipe (|) separated list of actions  | 
| last_modified_bdate | string  Used to filter report by date range. This is the beginning date as most recently modified for a transaction, not the bdate that was originally entered.  | 
| last_modified_edate | string  Used to filter report by date range. This is the ending date as most recently modified for a transaction, not the edate that was originally entered.  | 
curl -X GET 'https://test.transafe.com/api/v1/report/failed' --basic -u 'test_retail|public:publ1ct3st'
{- "code": "AUTH",
 - "report": {
- "property1": "string",
 - "property2": "string"
 
} 
}Removes transactions from the settled history
The transactions will no longer be returned by the settled report. These
transactions are entirely purged from the system. Transactions that have been
purged cannot be duplicated by ttid.
This should be done periodically based on business needs. Typically, 180 days should be kept at any given time to handle chargebacks and returns. If business needs dictate a longer time (e.g. a longer return policy), that should be taken into account when specifying the transactions to remove.
libmonetra KVS equivalent for endpoint
action = adminadmin = cth| batch | string  The batch number associated with the transaction  | 
| bdate | string  Start of date range  | 
| edate | string  End of date range  | 
curl -X DELETE 'https://test.transafe.com/api/v1/report/settled ' --basic -u 'test_retail|public:publ1ct3st'
{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved"
 
}Lists all settled transactions for the requested user (merchant) account
The resulting report will contain these headers:
ttid, msoft_code, phard_code, type,proc, entrymode, txnstatus,
tranflags, reversible, card, pclevel, cardlevel, abaroute,
account, expdate, checknum, timestamp, last_modified_ts,
accounttype, reasoncode, amount, reqamount, orig_authamount,
authamount, examount, tax, cashback, authnum, stan, batnum, item,
cardholdername, avs, cv, clerkid, stationid, comments,
divisionnum, promoid, descmerch, ptrannum, ordernum, custref,
discountamount, freightamount, dutyamount, shipzip, shipcountry,
l3num, userlibmonetra KVS equivalent for endpoint
action = adminadmin = gl| acct | string  Account number for auditing Note: Only the last four digits of the card should be sent  | 
| amount | string   Example:  amount=19.92 Amount of money, including decimal. E.g  This is the total amount and is an aggregate of all supplementary amounts.  | 
| batch | string  The batch number associated with the transaction  | 
| bdate | string  Start of date range  | 
| edate | string  End of date range  | 
| capture | object  Enum: "yes" "no"    Example:  capture=yes Whether or not the report should include captured transactions If not present, show both captured and uncaptured transactions. Values: 
  | 
| cardholdername | string   Example:  cardholdername=John Doe Name of the cardholder  | 
| cardtypes | object  Enum: "VISA" "MC" "AMEX" "DISC" "DINERS" "JCB" "BML" "GIFT" "VISADEBIT" "MCDEBIT" "OTHERDEBIT" "EBT" "CHECK" "INTERAC" "CUP" "PAYPALEC" "ACH"    Example:  cardtypes=VISA|MC Cardtypes Pipe (|) separated. Cardtype support is dependant on the processor. Not all processor support all cardtypes. Flag values (pipe separated): 
  | 
| clerkid | string  Identifier for the clerk running the transaction  | 
| comments | string  User-defined comments related to the transaction  | 
| pclevel | object  Enum: "0" "1" "2"    Example:  pclevel=0 Indicates the level of payment card Values: 
  | 
| ptrannum | string   Example:  ptrannum=1987 Numeric-only transaction number. If ordernum is present, it will supersede and be preferred over ptrannum  | 
| stationid | string   Example:  stationid=7 Identifier for the physical station running the transaction  | 
| ttid | string  Transaction identifier  | 
| type | string   Example:  type=sale Type of action that was taken. Can be a pipe (|) separated list of actions  | 
| last_modified_bdate | string  Used to filter report by date range. This is the beginning date as most recently modified for a transaction, not the bdate that was originally entered.  | 
| last_modified_edate | string  Used to filter report by date range. This is the ending date as most recently modified for a transaction, not the edate that was originally entered.  | 
| user | string  User name used to limit results of report to only the specified user  | 
| showvoids | object  Enum: "yes" "no" "only"    Example:  showvoids=yes Whether or not the report should include voids Values: 
  | 
| reversible | object  Enum: "yes" "no"    Example:  reversible=yes Whether or not the report should include reversible transactions If not present, show both reversible and non-reversible transactions Values: 
  | 
curl -X GET 'https://test.transafe.com/api/v1/report/settled' --basic -u 'test_retail|public:publ1ct3st'
{- "code": "AUTH",
 - "report": {
- "property1": "string",
 - "property2": "string"
 
} 
}Lists all unsettled transactions for the requested user (merchant) account
This is useful for monitoring which transactions have yet to be Settled.
The resulting report will contain these headers:
user, ttid, msoft_code, phard_code, type, proc, entrymode,
txnstatus, tranflags, capture, card, pclevel, cardlevel, abaroute,
account, expdate, checknum, timestamp, last_modified_ts,
accounttype, amount, reqamount, orig_authamount, authamount,
examount, tax, cashback, authnum, stan, batch, item,
cardholdername, avs, cv, clerkid, stationid, comments, divisionnum,
promoid, descmerch, ptrannum, ordernum, custref, discountamount,
freightamount, dutyamount, shipzip, shipcountry, l3numlibmonetra KVS equivalent for endpoint
action = adminadmin = gut| acct | string  Account number for auditing Note: Only the last four digits of the card should be sent  | 
| amount | string   Example:  amount=19.92 Amount of money, including decimal. E.g  This is the total amount and is an aggregate of all supplementary amounts.  | 
| batch | string  The batch number associated with the transaction  | 
| bdate | string  Start of date range  | 
| edate | string  End of date range  | 
| capture | object  Enum: "yes" "no"    Example:  capture=yes Whether or not the report should include captured transactions If not present, show both captured and uncaptured transactions. Values: 
  | 
| cardholdername | string   Example:  cardholdername=John Doe Name of the cardholder  | 
| cardtypes | object  Enum: "VISA" "MC" "AMEX" "DISC" "DINERS" "JCB" "BML" "GIFT" "VISADEBIT" "MCDEBIT" "OTHERDEBIT" "EBT" "CHECK" "INTERAC" "CUP" "PAYPALEC" "ACH"    Example:  cardtypes=VISA|MC Cardtypes Pipe (|) separated. Cardtype support is dependant on the processor. Not all processor support all cardtypes. Flag values (pipe separated): 
  | 
| clerkid | string  Identifier for the clerk running the transaction  | 
| comments | string  User-defined comments related to the transaction  | 
| pclevel | object  Enum: "0" "1" "2"    Example:  pclevel=0 Indicates the level of payment card Values: 
  | 
| ptrannum | string   Example:  ptrannum=1987 Numeric-only transaction number. If ordernum is present, it will supersede and be preferred over ptrannum  | 
| stationid | string   Example:  stationid=7 Identifier for the physical station running the transaction  | 
| ttid | string  Transaction identifier  | 
| type | string   Example:  type=sale Type of action that was taken. Can be a pipe (|) separated list of actions  | 
| last_modified_bdate | string  Used to filter report by date range. This is the beginning date as most recently modified for a transaction, not the bdate that was originally entered.  | 
| last_modified_edate | string  Used to filter report by date range. This is the ending date as most recently modified for a transaction, not the edate that was originally entered.  | 
| user | string  User name used to limit results of report to only the specified user  | 
curl -X GET 'https://test.transafe.com/api/v1/report/unsettled' --basic -u 'test_retail|public:publ1ct3st'
{- "code": "AUTH",
 - "report": {
- "property1": "string",
 - "property2": "string"
 
} 
}Retrieves a list of Level 3 line items associated with an unsettled transaction
The resulting report will contain these headers:
l3id, ttid, commoditycode, description, productcode, qty, unit, unitprice,
discountamount, discountrate, amountlibmonetra KVS equivalent for endpoint
action = adminadmin = l3list| ttid  required   | string  Transaction identifier  | 
| l3id | string  ID associated with the Level 3 line item  | 
curl -X GET 'https://test.transafe.com/api/v1/level3/926660343286234' --basic -u 'test_retail|public:publ1ct3st'
{- "code": "AUTH",
 - "report": {
- "property1": "string",
 - "property2": "string"
 
} 
}Adds Level 3 line item to an unsettled transaction
libmonetra KVS equivalent for endpoint
action = adminadmin = l3add| ttid  required   | string  Transaction identifier  | 
| commoditycode  required   | string[0-9a-zA-Z]{8,12}  Contains an international description code of the individual good or service being supplied The acquiring bank or processor should provide the merchant an updated listing of currently defined codes. Please note that this is different from the 4-character summary commodity code. Codes can be found online at http://www.unspsc.org The code itself will not be validated; only the format is validated.  | 
| description  required   | string[0-9a-zA-Z ]{1,26}  Merchant-defined description of the item or service being sold This is a free-form field.  | 
| productcode  required   | string[0-9a-zA-Z ]{1,12}  Merchant-defined code for the item being purchased, such as a UPC #, SKU #, or Item #  | 
| qty  required   | string  Quantity of the item being purchased This field allows up to 5 decimal places of precision. If the card brand does not allow that level of precision, the number will be rounded. Minimum quantity is 0.00005. Maximum quantity is 99999.00.  | 
| unit  required   | string  Free-form unit of measure Merchant's description for a unit of measurement. If no good description, use 'Unit'  | 
| unitprice  required   | string  Item price per Unit Must not reflect any duty, freight, discount, or tax. This field allows up to 5 decimal places of precision. If the card brand does not allow that level of precision, the number will be rounded. Minimum amount is 0.00005. Maximum amount is 9999999.99.  | 
| discountamount | string  Discount amount per line item The total discount amount applied against the line item total. This field allows up to 2 decimal places of precision. The sum of all line item discounts must be less than or equal to the transaction's discount amount. If a discount was applied to this line item, this field must be populated. Minimum amount is 0.00. Maximum amount is 9999999.99.  | 
| discountrate | string  Discount rate per line item The discount rate applied against the line item. This field allows up to 5 decimal places of precision. If the card brand does not allow that level of precision, the number will be rounded. This field appears to be optional. It is not valid to specify this if discount amount is not specified or is 0. Minimum rate is 0.00. Maximum rate is 99.99.  | 
| amount  required   | string  Line item total amount This is the line item amount after all taxes and discounts have been applied (but not inclusive of duty or freight). This amount must be greater than or equal to (unitprice * qty) - discountamount. This amount has 2 decimal places of precision. Minimum amount is 0.01. Maximum amount is 9999999.99.  | 
{- "commoditycode": "string",
 - "description": "string",
 - "productcode": "string",
 - "qty": "string",
 - "unit": "string",
 - "unitprice": "string",
 - "discountamount": "string",
 - "discountrate": "string",
 - "amount": "string"
 
}{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved",
 - "l3id": "string"
 
}Deletes Level 3 line item from an unsettled transaction
libmonetra KVS equivalent for endpoint
action = adminadmin = l3del| ttid  required   | string  Transaction identifier  | 
| l3id  required   | string  ID associated with the Level 3 line item  | 
curl -X DELETE 'https://test.transafe.com/api/v1/level3/926660343286234/19266603985142159' --basic -u 'test_retail|public:publ1ct3st'
{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved"
 
}Gets the specified line item for the transaction
libmonetra KVS equivalent for endpoint
action = adminadmin = l3list| ttid  required   | string  Transaction identifier  | 
| l3id  required   | string  ID associated with the Level 3 line item  | 
curl -X GET 'https://test.transafe.com/api/v1/level3/926660343286234/19266603985142159' --basic -u 'test_retail|public:publ1ct3st'
{- "code": "AUTH",
 - "report": {
- "property1": "string",
 - "property2": "string"
 
} 
}Marks the batch as settled within TranSafe without ever requesting funding
The transaction data in the batch is not sent to the processing institution. This should only be used if the processing institution has accepted the batch, but TranSafe did not receive the response.
WARNING: This function should be used with extreme caution as Force Settling a batch which the processing institution has not received will prevent funding of those transactions in the batch.
libmonetra KVS equivalent for endpoint
action = adminadmin = forcesettle| batch  required   | string  The batch number associated with the transaction  | 
| sub  required   | string  Route to settle More than one might be present if split-routing is in use. For example, Credit could be sub 0 and Gift sub 1. Use the 'Unsettled Batch Totals' report to determine which sub routes need to be settled. Note: Every account will have at least one route which is route 0.  | 
curl -X POST 'https://test.transafe.com/api/v1/batch/123/settle/0/force' --basic -u 'test_retail|public:publ1ct3st' -d ''
{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved"
 
}Gets an abbreviated 'batch totals' summary for each 'Settled' batch, within a given date range.
The resulting report will contain these headers:
BatchNum, sub, status, totaltransNum, totaltransAmount, totalAuthNum,
totalAuthAmount, totalReturnNum, totalReturnAmount, NumVisaAuth, AmntVisaAuth,
NumVisaReturn, AmntVisaReturn, NumVisaDSAuth, AmntVisaDSAuth, NumVisaDSReturn,
AmntVisaDSReturn, NumMCAuth, AmntMCAuth, NumMCReturn, AmntMCReturn,
NumDiscAuth, AmntDiscAuth, NumDiscReturn, AmntDiscReturn, NumCUPAuth,
AmntCUPAuth, NumCUPReturn, AmntCUPReturn, NumAmexAuth, AmntAmexAuth,
NumAmexReturn, AmntAmexReturn, NumDinersAuth, AmntDinersAuth, NumDinersReturn,
AmntDinersReturn, NumCBAuth, AmntCBAuth, NumCBReturn, AmntCBReturn, NumJCBAuth,
AmntJCBAuth, NumJCBReturn, AmntJCBReturn, NumGIFTAuth, AmntGIFTAuth,
NumGIFTReturn, AmntGIFTReturn, NumOtherAuth, AmntOtherAuth, NumOtherReturn,
AmntOtherReturn, NumDebitAuth, AmntDebitAuth, NumDebitReturn, AmntDebitReturn,
NumEBTAuth, AmntEBTAuth, NumEBTReturn, AmntEBTReturn, NumCheckAuth,
AmntCheckAuth, NumUnknownAuth, AmntUnknownAuth, NumUnknownReturn,
AmntUnknownReturnlibmonetra KVS equivalent for endpoint
action = adminadmin = pbt| batch | string  The batch number associated with the transaction  | 
| bdate | string  Start of date range  | 
| edate | string  End of date range  | 
| reversible | object  Enum: "yes" "no"    Example:  reversible=yes Whether or not the report should include reversible transactions If not present, show both reversible and non-reversible transactions Values: 
  | 
curl -X GET 'https://test.transafe.com/api/v1/report/settled/totals?bdate=-5%20days&edate=now' --basic -u 'test_retail|public:publ1ct3st'
{- "code": "AUTH",
 - "report": {
- "property1": "string",
 - "property2": "string"
 
} 
}Gets an abbreviated 'batch totals' summary for each 'Unsettled' batch.
The resulting report will contain these headers:
BatchNum, sub, status, totaltransNum, totaltransAmount, totalAuthNum,
totalAuthAmount, totalReturnNum, totalReturnAmount, NumVisaAuth, AmntVisaAuth,
NumVisaReturn, AmntVisaReturn, NumVisaDSAuth, AmntVisaDSAuth, NumVisaDSReturn,
AmntVisaDSReturn, NumMCAuth, AmntMCAuth, NumMCReturn, AmntMCReturn,
NumDiscAuth, AmntDiscAuth, NumDiscReturn, AmntDiscReturn, NumCUPAuth,
AmntCUPAuth, NumCUPReturn, AmntCUPReturn, NumAmexAuth, AmntAmexAuth,
NumAmexReturn, AmntAmexReturn, NumDinersAuth, AmntDinersAuth, NumDinersReturn,
AmntDinersReturn, NumCBAuth, AmntCBAuth, NumCBReturn, AmntCBReturn, NumJCBAuth,
AmntJCBAuth, NumJCBReturn, AmntJCBReturn, NumGIFTAuth, AmntGIFTAuth,
NumGIFTReturn, AmntGIFTReturn, NumOtherAuth, AmntOtherAuth, NumOtherReturn,
AmntOtherReturn, NumDebitAuth, AmntDebitAuth, NumDebitReturn, AmntDebitReturn,
NumEBTAuth, AmntEBTAuth, NumEBTReturn, AmntEBTReturn, NumCheckAuth,
AmntCheckAuth, NumUnknownAuth, AmntUnknownAuth, NumUnknownReturn,
AmntUnknownReturnlibmonetra KVS equivalent for endpoint
action = adminadmin = bt| batch | string  The batch number associated with the transaction  | 
| bdate | string  Start of date range  | 
| edate | string  End of date range  | 
curl -X GET 'https://test.transafe.com/api/v1/report/unsettled/totals' --basic -u 'test_retail|public:publ1ct3st'
{- "code": "AUTH",
 - "report": {
- "property1": "string",
 - "property2": "string"
 
} 
}Submits transactions for funding
This operation can be scheduled to run automatically using the scheduler.
libmonetra KVS equivalent for endpoint
action = settle| batch  required   | string  The batch number associated with the transaction  | 
| sub  required   | string  Route to settle More than one might be present if split-routing is in use. For example, Credit could be sub 0 and Gift sub 1. Use the 'Unsettled Batch Totals' report to determine which sub routes need to be settled. Note: Every account will have at least one route which is route 0.  | 
curl -X POST 'https://test.transafe.com/api/v1/batch/123/settle/0' --basic -u 'test_retail|public:publ1ct3st' -d ''
{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved"
 
}Marks a batch in TranSafe as unsettled
This will allow the batch to be submitted for funding again. A batch should only be unsettled when the processor has confirmed that they did not receive the batch but it is showing as settled in TranSafe. It is important that this action only be taken with confirmation from the processor that this should happen.
Warning: Unsettling and then settling again will most likely cause double charging of customers.
libmonetra KVS equivalent for endpoint
action = adminadmin = unsettlebatch| batch  required   | string  The batch number associated with the transaction  | 
| sub  required   | string  Route to settle More than one might be present if split-routing is in use. For example, Credit could be sub 0 and Gift sub 1. Use the 'Unsettled Batch Totals' report to determine which sub routes need to be settled. Note: Every account will have at least one route which is route 0.  | 
curl -X POST 'https://test.transafe.com/api/v1/batch/123/unsettle/0' --basic -u 'test_retail|public:publ1ct3st' -d ''
{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved"
 
}Delete a check image
libmonetra KVS equivalent for endpoint
action = adminadmin = imagedelimage_type = check| ttid  required   | string  Transaction identifier  | 
curl -X DELETE 'https://test.transafe.com/api/v1/image/19538953454/check' --basic -u 'test_retail|public:publ1ct3st'
{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved"
 
}Delete a signature image
libmonetra KVS equivalent for endpoint
action = adminadmin = imagedelimage_type = signature| ttid  required   | string  Transaction identifier  | 
curl -X DELETE 'https://test.transafe.com/api/v1/image/19538953454/signature' --basic -u 'test_retail|public:publ1ct3st'
{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved"
 
}Stores a signature.
Typically used for receipts
libmonetra KVS equivalent for endpoint
action = adminadmin = imageaddimage_type = signature| ttid  required   | string  Transaction identifier  | 
| image  required   | string[a-zA-Z0-9+/\n]+={0,2}[\n]*  Base64-encoded image data. Supports TIFF, PNG and PBM formats.  | 
{- "image": "ABC="
 
}{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved"
 
}Lists stored images
The resulting report will contain these headers:
ttid, ts, status, ptrannum, batch, image_type, imagelibmonetra KVS equivalent for endpoint
action = adminadmin = getimages| ttid | string  Transaction identifier  | 
| batch | string  The batch number associated with the transaction  | 
| status | object  Enum: "unsettled" "settled"    Example:  status=unsettled Transaction status Values: 
  | 
| bdate | string  Start of date range  | 
| edate | string  End of date range  | 
| image_format | object  Enum: "TIFF" "PNG" "PBM"    Example:  image_format=TIFF Image format Values: 
  | 
curl -X GET 'https://test.transafe.com/api/v1/image?bdate=-5%20months&edate=now' --basic -u 'test_retail|public:publ1ct3st'
{- "code": "AUTH",
 - "report": {
- "property1": "string",
 - "property2": "string"
 
} 
}Gets images for the specified transaction.
See List Images for report output
libmonetra KVS equivalent for endpoint
action = adminadmin = getimages| ttid  required   | string  Transaction identifier  | 
| batch | string  The batch number associated with the transaction  | 
| status | object  Enum: "unsettled" "settled"    Example:  status=unsettled Transaction status Values: 
  | 
| bdate | string  Start of date range  | 
| edate | string  End of date range  | 
| image_format | object  Enum: "TIFF" "PNG" "PBM"    Example:  image_format=TIFF Image format Values: 
  | 
curl -X GET 'https://test.transafe.com/api/v1/image/4783758439245' --basic -u 'test_retail|public:publ1ct3st'
{- "code": "AUTH",
 - "report": {
- "property1": "string",
 - "property2": "string"
 
} 
}Lists customers
The billing and shipping address information provided by the report are the customer's default addresses. They may not be present if no addresses were set as defaults.
The resulting report will contain these headers:
ts_created, ts_modified, display_name, name_company, name_prefix, name_first,
name_middle, name_last, name_suffix, phone_work phone_home, phone_mobile,
phone_fax, email, website, business_id, accounting_id, notes, default_token,
billing_display_name, billing_address1, billing_address2, billing_city,
billing_state, billing_country, billing_postal_code, billing_delivery_notes,
shipping_display_name, shipping_address1, shipping_address2, shipping_city,
shipping_state, shipping_country, shipping_postal_code, shipping_delivery_noteslibmonetra KVS equivalent for endpoint
action = adminadmin = recurringlistrecurringlist = customer| id | string  Customer identifier  | 
curl -X GET 'https://test.transafe.com/api/v1/customer' --basic -u 'test_retail|public:publ1ct3st'
{- "code": "AUTH",
 - "report": {
- "property1": "string",
 - "property2": "string"
 
} 
}Adds a customer to the customer database for the merchant or token group
libmonetra KVS equivalent for endpoint
action = adminadmin = recurringaddrecurringadd = customer| display_name  required   | string  <= 128 characters   Display name  | 
| name_company | string  <= 128 characters   Company name  | 
| name_prefix | string  <= 32 characters   Name prefix, Mr. Mrs. Ms. Dr... Free-form field  | 
| name_first | string  <= 32 characters   First name  | 
| name_middle | string  <= 32 characters   Middle name  | 
| name_last | string  <= 32 characters   Last name  | 
| name_suffix | string  <= 32 characters   Name suffix, Jr. Sr. III... Free-form field  | 
| phone_work | string  <= 32 characters [-+0-9() .]*  Work phone  | 
| phone_home | string  <= 32 characters [-+0-9() .]*  Home phone  | 
| phone_mobile | string  <= 32 characters [-+0-9() .]*  Mobile phone  | 
| phone_fax | string  <= 32 characters [-+0-9() .]*  Fax number  | 
string  <= 128 characters    | |
| website | string  <= 128 characters   Website  | 
| business_id | string  <= 32 characters   Business ID - FEIN  | 
| accounting_id | string  <= 128 characters   ID used in external accounting system for customer  | 
| notes | string  <= 1024 characters   General free-form information  | 
| flags | string  Enum: "TAXEXEMPT" "EMAIL_RECEIPT_RECURRING"   flags controlling behavior Values: 
  | 
| property name* | string   | 
{- "display_name": "string",
 - "name_company": "string",
 - "name_prefix": "string",
 - "name_first": "string",
 - "name_middle": "string",
 - "name_last": "string",
 - "name_suffix": "string",
 - "phone_work": "string",
 - "phone_home": "string",
 - "phone_mobile": "string",
 - "phone_fax": "string",
 - "email": "string",
 - "website": "string",
 - "business_id": "string",
 - "accounting_id": "string",
 - "notes": "string",
 - "flags": "TAXEXEMPT",
 - "property1": "string",
 - "property2": "string"
 
}{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved",
 - "id": "string"
 
}Lists a customer's addresses
The resulting report will contain these headers:
display_name, address1, address2, city, state, country, postal_code,
delivery_noteslibmonetra KVS equivalent for endpoint
action = adminadmin = recurringlistrecurringlist = customeraddress| customer_id  required   | string  Customer identifier, numeric only  | 
| id | string  Customer address identifier  | 
curl -X GET 'https://test.transafe.com/api/v1/customer/19266575665036873/address' --basic -u 'test_retail|public:publ1ct3st'
{- "code": "AUTH",
 - "report": {
- "property1": "string",
 - "property2": "string"
 
} 
}Adds an address to a customer
libmonetra KVS equivalent for endpoint
action = adminadmin = recurringaddrecurringadd = customeraddress| customer_id  required   | string  Customer identifier, numeric only  | 
| display_name | string  <= 128 characters   Display name  | 
| address1  required   | string  <= 128 characters   Address line 1  | 
| address2 | string  <= 128 characters   Address line 2  | 
| city | string  <= 128 characters   City  | 
| state | string  <= 128 characters   State  | 
| country | string  <= 3 characters [a-zA-Z]{0,3}  Country ISO 3166-1 alpha-3 country code  | 
| postal_code | string  Postal code  | 
| delivery_notes | string  <= 1024 characters   Delivery notes  | 
| default_billing | string  Default:  "no"  Enum: "yes" "no"   Specifies whether or not this is the default billing address Values: 
  | 
| default_shipping | string  Default:  "no"  Enum: "yes" "no"   Specifies whether or not this is the default shipping address Values: 
  | 
| property name* | string   | 
{- "display_name": "string",
 - "address1": "string",
 - "address2": "string",
 - "city": "string",
 - "state": "string",
 - "country": "str",
 - "postal_code": "string",
 - "delivery_notes": "string",
 - "default_billing": "yes",
 - "default_shipping": "yes",
 - "property1": "string",
 - "property2": "string"
 
}{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved",
 - "id": "string"
 
}Deletes a customer
WARNING: This will purge tokens associated with the customer! If tokens need to be retained, remove them from the customer before deleting.
libmonetra KVS equivalent for endpoint
action = adminadmin = recurringdelrecurringdel = customer| id  required   | string  Customer identifier  | 
curl -X DELETE 'https://test.transafe.com/api/v1/customer/19266575665036873' --basic -u 'test_retail|public:publ1ct3st'
{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved"
 
}Details for a specific customer
See customer list for response report details
libmonetra KVS equivalent for endpoint
action = adminadmin = recurringlistrecurringlist = customer| id  required   | string  Customer identifier  | 
curl -X GET 'https://test.transafe.com/api/v1/customer/19266575665036873' --basic -u 'test_retail|public:publ1ct3st'
{- "code": "AUTH",
 - "report": {
- "property1": "string",
 - "property2": "string"
 
} 
}Edits an existing customer
libmonetra KVS equivalent for endpoint
action = adminadmin = recurringeditrecurringedit = customer| id  required   | string  Customer identifier  | 
| display_name | string  <= 128 characters   Display name  | 
| name_company | string  <= 128 characters   Company name  | 
| name_prefix | string  <= 32 characters   Name prefix, Mr. Mrs. Ms. Dr... Free-form field  | 
| name_first | string  <= 32 characters   First name  | 
| name_middle | string  <= 32 characters   Middle name  | 
| name_last | string  <= 32 characters   Last name  | 
| name_suffix | string  <= 32 characters   Name suffix, Jr. Sr. III... Free-form field  | 
| phone_work | string  <= 32 characters [-+0-9() .]*  Work phone  | 
| phone_home | string  <= 32 characters [-+0-9() .]*  Home phone  | 
| phone_mobile | string  <= 32 characters [-+0-9() .]*  Mobile phone  | 
| phone_fax | string  <= 32 characters [-+0-9() .]*  Fax number  | 
string  <= 128 characters    | |
| website | string  <= 128 characters   Website  | 
| business_id | string  <= 32 characters   Business ID - FEIN  | 
| accounting_id | string  <= 128 characters   ID used in external accounting system for customer  | 
| notes | string  <= 1024 characters   General free-form information  | 
| flags | string  Enum: "TAXEXEMPT" "EMAIL_RECEIPT_RECURRING"   flags controlling behavior Values: 
  | 
| default_token | string[0-9]*  Default token/payment to use  | 
| default_billing_id | string[0-9]+  Default ID of billing address in use from customer_addresses 0 means no default  | 
| default_shipping_id | string[0-9]+  Default ID of shipping address in use from customer_addresses 0 means no default  | 
| property name* | string   | 
{- "display_name": "string",
 - "name_company": "string",
 - "name_prefix": "string",
 - "name_first": "string",
 - "name_middle": "string",
 - "name_last": "string",
 - "name_suffix": "string",
 - "phone_work": "string",
 - "phone_home": "string",
 - "phone_mobile": "string",
 - "phone_fax": "string",
 - "email": "string",
 - "website": "string",
 - "business_id": "string",
 - "accounting_id": "string",
 - "notes": "string",
 - "flags": "TAXEXEMPT",
 - "default_token": "string",
 - "default_billing_id": "string",
 - "default_shipping_id": "string",
 - "property1": "string",
 - "property2": "string"
 
}{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved"
 
}Deletes a customer's address
libmonetra KVS equivalent for endpoint
action = adminadmin = recurringdelrecurringdel = customeraddress| customer_id  required   | string  Customer identifier, numeric only  | 
| id  required   | string  Customer address identifier  | 
curl -X DELETE 'https://test.transafe.com/api/v1/customer/19266575665036873/address/19266578682904270' --basic -u 'test_retail|public:publ1ct3st'
{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved"
 
}Details for a specific customer address
See customer address list for response report details
libmonetra KVS equivalent for endpoint
action = adminadmin = recurringlistrecurringlist = customeraddress| customer_id  required   | string  Customer identifier, numeric only  | 
| id  required   | string  Customer address identifier  | 
curl -X GET 'https://test.transafe.com/api/v1/customer/19266575665036873/address/19266578682904270' --basic -u 'test_retail|public:publ1ct3st'
{- "code": "AUTH",
 - "report": {
- "property1": "string",
 - "property2": "string"
 
} 
}Edits an existing customer's address
libmonetra KVS equivalent for endpoint
action = adminadmin = recurringeditrecurringedit = customeraddress| customer_id  required   | string  Customer identifier, numeric only  | 
| id  required   | string  Customer address identifier  | 
| display_name | string  <= 128 characters   Display name  | 
| address1 | string  <= 128 characters   Address line 1  | 
| address2 | string  <= 128 characters   Address line 2  | 
| city | string  <= 128 characters   City  | 
| state | string  <= 128 characters   State  | 
| country | string  <= 3 characters [a-zA-Z]{0,3}  Country ISO 3166-1 alpha-3 country code  | 
| postal_code | string  Postal code  | 
| delivery_notes | string  <= 1024 characters   Delivery notes  | 
| default_billing | string  Default:  "no"  Enum: "yes" "no"   Specifies whether or not this is the default billing address Values: 
  | 
| default_shipping | string  Default:  "no"  Enum: "yes" "no"   Specifies whether or not this is the default shipping address Values: 
  | 
| property name* | string   | 
{- "display_name": "string",
 - "address1": "string",
 - "address2": "string",
 - "city": "string",
 - "state": "string",
 - "country": "str",
 - "postal_code": "string",
 - "delivery_notes": "string",
 - "default_billing": "yes",
 - "default_shipping": "yes",
 - "property1": "string",
 - "property2": "string"
 
}{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved"
 
}Lists all stored accounts associated with this customer
The resulting report will contain these headers:
token, type, create_ts, update_ts, flags, active, cardtype, abaroute, account,
expdate, cardholdername, street, zip, descr, clientref, customer_id,
customer_display_name, amount, frequency, bdate, edate, installment_num,
installment_total, last_run_id, last_success_date, last_run_date,
next_run_date, next_run_amountlibmonetra KVS equivalent for endpoint
action = adminadmin = recurringlist| customer_id  required   | string  Customer identifier, numeric only  | 
curl -X GET 'https://test.transafe.com/api/v1/customer/19266575665036873/tokens' --basic -u 'test_retail|public:publ1ct3st'
{- "code": "AUTH",
 - "report": {
- "property1": "string",
 - "property2": "string"
 
} 
}Changes the user's password
libmonetra KVS equivalent for endpoint
action = adminadmin = chngpwd| pwd  required   | string  <= 256 characters   New password  | 
{- "pwd": "string"
 
}{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved"
 
}Verifies the current user's password
Response will not differentiate between an invalid user and a bad password
libmonetra KVS equivalent for endpoint
action = chkpwdcurl -X POST 'https://test.transafe.com/api/v1/merchant/password' --basic -u 'test_retail|public:publ1ct3st' -d ''
{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved"
 
}Gets the merchant's configuration
The resulting report will contain these headers:
cardtype, auth_proc, settle_proc, auth_merchid, settle_merchid, auth_sub,
settle_sub, indcode, trantypes, emv, mac_required, gift_binrange, can_standin,
auth_procfeatures, settle_procfeatureslibmonetra KVS equivalent for endpoint
action = adminadmin = merchinfocurl -X GET 'https://test.transafe.com/api/v1/merchant/configuration' --basic -u 'test_retail|public:publ1ct3st'
{- "code": "AUTH",
 - "report": {
- "property1": "string",
 - "property2": "string"
 
} 
}Gets the merchant's information
libmonetra KVS equivalent for endpoint
action = adminadmin = merchinfomerchinfo = termparamscurl -X GET 'https://test.transafe.com/api/v1/merchant/info' --basic -u 'test_retail|public:publ1ct3st'
{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved",
 - "merch_name": "string",
 - "merch_addr1": "string",
 - "merch_addr2": "string",
 - "merch_addr3": "string",
 - "merch_phone": "string",
 - "merch_email": "string",
 - "merch_url": "string",
 - "merch_proc": "string",
 - "countrycode": "string",
 - "currencycode": "string",
 - "property1": "string",
 - "property2": "string"
 
}Gets the user's permissions
The resulting report will contain these headers:
trantypes, admintypes, userflags, obscure, unattendedlibmonetra KVS equivalent for endpoint
action = adminadmin = getpermscurl -X GET 'https://test.transafe.com/api/v1/merchant/permissions' --basic -u 'test_retail|public:publ1ct3st'
{- "code": "AUTH",
 - "report": {
- "property1": "string",
 - "property2": "string"
 
} 
}List inventory categories
The resulting report will contain these headers:
id, timestamp_ms, is_deleted, name, description, sortorderlibmonetra KVS equivalent for endpoint
action = adminadmin = prodlistjson = falseprodlist = category| id | string  Unique ID of the category  | 
| name | string  Name of the category  | 
| timestamp_ms | string  The maximum recorded timestamp_ms of the last fetch. Will only return records newer than this.  | 
curl -X GET 'https://test.transafe.com/api/v1/inventory/category' --basic -u 'test_retail|public:publ1ct3st'
{- "code": "AUTH",
 - "report": {
- "property1": "string",
 - "property2": "string"
 
} 
}Add an inventory category
Products, and discounts are added to categories. The category allows for grouping similar products and discounts that apply specifically to those products.
libmonetra KVS equivalent for endpoint
action = adminadmin = prodmanageprodmanage = category_add| name  required   | string  <= 32 characters   Name of the category  | 
| description | string  <= 128 characters   Description of the category  | 
| sortorder | string\d+  UI sort order (display purposes only)  | 
{- "name": "string",
 - "description": "string",
 - "sortorder": "string"
 
}{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved",
 - "result": "NOTRUN",
 - "id": "string",
 - "timestamp_ms": "string"
 
}Gets discounts for the given category.
See List Stored Discounts for report output
libmonetra KVS equivalent for endpoint
action = adminadmin = prodlistjson = falseprodlist = discount| category_id  required   | string  Unique ID of the product category  | 
| id | string  Unique ID of the discount  | 
| name | string  Name of the discount  | 
| timestamp_ms | string  The maximum recorded timestamp_ms of the last fetch. Will only return records newer than this.  | 
curl -X GET 'https://test.transafe.com/api/v1/inventory/category/1873893758493/discount' --basic -u 'test_retail|public:publ1ct3st'
{- "code": "AUTH",
 - "report": {
- "property1": "string",
 - "property2": "string"
 
} 
}Add a discount to an inventory category
Discounts can be applied to products, orders or both. They can be percentage based or a fixed amount.
libmonetra KVS equivalent for endpoint
action = adminadmin = prodmanageprodmanage = discount_add| category_id  required   | string  Unique ID of the product category  | 
| name  required   | string  <= 32 characters   Name of the discount  | 
| description | string  <= 128 characters   Description of the discount  | 
| type  required   | string  Default:  "percentage"  Enum: "percentage" "fixed"   How the discount amount is applied Values: 
  | 
| usecase  required   | string  Enum: "item" "order" "both" "cashdiscount"   What the discount applies to in the order Values: 
  | 
| amount  required   | string\d*(\.\d{0,5})?  Amount (up to 5 decimal places)  | 
| sortorder | string\d+  UI sort order (display purposes only)  | 
{- "name": "string",
 - "description": "string",
 - "type": "percentage",
 - "usecase": "item",
 - "amount": "string",
 - "sortorder": "string"
 
}{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved",
 - "result": "NOTRUN",
 - "id": "string",
 - "timestamp_ms": "string"
 
}Add an inventory modifier to a modifier set
Modifiers augment a product and are typically add ons. This is different than a SKU.
For example, a pizza topping would be a modifier. Pepperoni, mushroom, or bacon. Multiple modifiers can be applied to an order.
All modifiers are part of a modifier set in order to provide logical groupings for modifiers.
libmonetra KVS equivalent for endpoint
action = adminadmin = prodmanageprodmanage = modifier_add| modifierset_id  required   | string  Unique ID of the modifier set  | 
| name  required   | string  <= 32 characters   Name of the modifier  | 
| description | string  <= 128 characters   Description of the modifier  | 
| price | string\d*(\.\d{0,5})?  Price (up to 5 decimal places)  | 
| unit | string  Free-form unit of measure Merchant's description for a unit of measurement. If no good description, use 'Unit'  | 
| sortorder | string\d+  UI sort order (display purposes only)  | 
{- "name": "string",
 - "description": "string",
 - "price": "string",
 - "unit": "string",
 - "sortorder": "string"
 
}{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved",
 - "result": "NOTRUN",
 - "id": "string",
 - "timestamp_ms": "string"
 
}List inventory modifier sets
The resulting report will contain these headers:
id, name, timestamp_ms, description, multiselect, maxselectlibmonetra KVS equivalent for endpoint
action = adminadmin = prodlistjson = falseprodlist = modifierset| id | string  Unique ID of the modifier set  | 
| name | string  Name of the modifier set  | 
| timestamp_ms | string  The maximum recorded timestamp_ms of the last fetch. Will only return records newer than this.  | 
curl -X GET 'https://test.transafe.com/api/v1/product/modifierset' --basic -u 'test_retail|public:publ1ct3st'
{- "code": "AUTH",
 - "report": {
- "property1": "string",
 - "property2": "string"
 
} 
}Add an inventory modifier set
A grouping of like modifiers. For example, pizza toppings. Where each topping is a modifier within the set.
Modifier sets are applied to products. It can be applied to multiple products. For example, a pizza topping modifier set could apply to product pizza and product calzone (which is like a pizza but harder to eat and they're dumb). Both can and often use the same topping modifiers.
libmonetra KVS equivalent for endpoint
action = adminadmin = prodmanageprodmanage = modifierset_add| name  required   | string  <= 32 characters   Name of the modifier set  | 
| description | string  <= 128 characters   Description of the modifier set  | 
| multiselect | string  Default:  "no"  Enum: "yes" "no"   Whether or not multiple selection is allowed Values: 
  | 
| maxselect | string\d+  How many items may be selected at once (only if multiselect, default=unlimited)  | 
{- "name": "string",
 - "description": "string",
 - "multiselect": "yes",
 - "maxselect": "string"
 
}{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved",
 - "result": "NOTRUN",
 - "id": "string",
 - "timestamp_ms": "string"
 
}List inventory products
The resulting report will contain these headers:
id, name, timestamp_ms, category_id, taxrates, modifiersets,
description, commoditycode, unit, req_modifiersets, sortorder,
image_typelibmonetra KVS equivalent for endpoint
action = adminadmin = prodlistjson = falseprodlist = product| id | string  Unique ID of the product  | 
| name | string  Name of the product  | 
| category_id | string  Unique ID of the product category  | 
| timestamp_ms | string  The maximum recorded timestamp_ms of the last fetch. Will only return records newer than this.  | 
| fetch_images | object  Enum: "yes" "no"    Example:  fetch_images=yes Include base64-encoded image data Values: 
  | 
curl -X GET 'https://test.transafe.com/api/v1/inventory/product' --basic -u 'test_retail|public:publ1ct3st'
{- "code": "AUTH",
 - "report": {
- "property1": "string",
 - "property2": "string"
 
} 
}Add an inventory product
Products represent base items. All products will have SKUs which are the actual item's. All products are part of a category.
For example
libmonetra KVS equivalent for endpoint
action = adminadmin = prodmanageprodmanage = product_add| name  required   | string  <= 32 characters   Name of the product  | 
| category_id  required   | string\d+  Unique ID of the product category  | 
| description | string  <= 128 characters   Description of the product  | 
| taxrates | string  comma separated list of taxrate ids (up to 4)  | 
| modifiersets | string  comma separated list of modifierset ids (up to 8)  | 
| req_modifiersets | string  comma separated list of required   | 
| commoditycode | string[0-9a-zA-Z]{8,12}  Contains an international description code of the individual good or service being supplied The acquiring bank or processor should provide the merchant an updated listing of currently defined codes. Please note that this is different from the 4-character summary commodity code. Codes can be found online at http://www.unspsc.org The code itself will not be validated; only the format is validated.  | 
| unit | string  Free-form unit of measure Merchant's description for a unit of measurement. If no good description, use 'Unit'  | 
| sortorder | string\d+  UI sort order (display purposes only)  | 
| image_data | string[a-zA-Z0-9+/\n]+={0,2}[\n]*  Base64-encoded image data. Supports JPG and PNG formats. 300x300, 256KB max size.  | 
{- "name": "string",
 - "category_id": "string",
 - "description": "string",
 - "taxrates": "string",
 - "modifiersets": "string",
 - "req_modifiersets": "string",
 - "commoditycode": "string",
 - "unit": "string",
 - "sortorder": "string",
 - "image_data": "ABC="
 
}{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved",
 - "result": "NOTRUN",
 - "id": "string",
 - "timestamp_ms": "string"
 
}Add an inventory product SKU
A SKU is a specific version of a product. For example, if the product is a book, there could be hardcover and paperback SKUs.
libmonetra KVS equivalent for endpoint
action = adminadmin = prodmanageprodmanage = sku_add| product_id  required   | string  Unique ID of the product  | 
| name  required   | string  <= 32 characters   Name of the SKU  | 
| price  required   | string\d*(\.\d{0,5})?  Price (up to 5 decimal places)  | 
| inventory | string  Default:  "unlimited"  Enum: "unlimited" "tracked" "outofstock"   Type of item stocking Values: 
  | 
| barcode | string  <= 32 characters   Decoded Barcode. E.g. 2d barcode decoded to the UPC number  | 
| description | string  <= 128 characters   Description of the SKU  | 
| sortorder | string\d+  UI sort order (display purposes only)  | 
{- "name": "string",
 - "price": "string",
 - "inventory": "unlimited",
 - "barcode": "string",
 - "description": "string",
 - "sortorder": "string"
 
}{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved",
 - "result": "NOTRUN",
 - "id": "string",
 - "timestamp_ms": "string"
 
}List inventory tax rates
The resulting report will contain these headers:
id, name, timestamp_ms, percentage, default, roundmethod, sortorderlibmonetra KVS equivalent for endpoint
action = adminadmin = prodlistjson = falseprodlist = taxrate| id | string  Unique ID of the tax rate  | 
| name | string  Name of the tax rate  | 
| timestamp_ms | string  The maximum recorded timestamp_ms of the last fetch. Will only return records newer than this.  | 
curl -X GET 'https://test.transafe.com/api/v1/inventory/taxrate' --basic -u 'test_retail|public:publ1ct3st'
{- "code": "AUTH",
 - "report": {
- "property1": "string",
 - "property2": "string"
 
} 
}Add an inventory tax rate
Allows creating a tax rate that can be applied to products. Multiple tax rates could be necessary for reporting purposes.
For example, separate rates for, state, county, and city. Multiple tax rates can be applied to products.
Having several tax rates my be necessary if products are taxed differently based on their type. For example, some places have digital and physical goods rates.
libmonetra KVS equivalent for endpoint
action = adminadmin = prodmanageprodmanage = taxrate_add| name  required   | string  <= 32 characters   Name of the tax rate  | 
| percentage  required   | string\d*(\.\d{0,5})?  Percentage of tax rate (up to 5 decimal places)  | 
| default | string  Default:  "no"  Enum: "yes" "no"   Whether this should be applied by default to new products (UI) Values: 
  | 
| roundmethod | string  Enum: "normal" "bankers"   Method used for rounding Values: 
  | 
| sortorder | string\d+  UI sort order (display purposes only)  | 
{- "name": "string",
 - "percentage": "string",
 - "default": "yes",
 - "roundmethod": "normal",
 - "sortorder": "string"
 
}{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved",
 - "result": "NOTRUN",
 - "id": "string",
 - "timestamp_ms": "string"
 
}Delete an inventory category
The category must be empty.
libmonetra KVS equivalent for endpoint
action = adminadmin = prodmanageprodmanage = category_del| id  required   | string  Unique ID of the category  | 
| timestamp_ms  required   | string  Last updated Unix timestamp in milliseconds  | 
curl -X DELETE 'https://test.transafe.com/api/v1/inventory/category/20120539065950458?timestamp_ms=1588258706031'
{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved",
 - "result": "NOTRUN"
 
}Gets details for the specified category.
See List Stored Categories for report output
libmonetra KVS equivalent for endpoint
action = adminadmin = prodlistjson = falseprodlist = category| id  required   | string  Unique ID of the category  | 
| name | string  Name of the category  | 
| timestamp_ms | string  The maximum recorded timestamp_ms of the last fetch. Will only return records newer than this.  | 
curl -X GET 'https://test.transafe.com/api/v1/inventory/category/1588258706031' --basic -u 'test_retail|public:publ1ct3st'
{- "code": "AUTH",
 - "report": {
- "property1": "string",
 - "property2": "string"
 
} 
}Edit an inventory category
libmonetra KVS equivalent for endpoint
action = adminadmin = prodmanageprodmanage = category_edit| id  required   | string  Unique ID of the category  | 
| timestamp_ms  required   | string\d+  Last updated Unix timestamp in milliseconds  | 
| name | string  <= 32 characters   Name of the category  | 
| description | string  <= 128 characters   Description of the category  | 
| sortorder | string\d+  UI sort order (display purposes only)  | 
{- "timestamp_ms": "string",
 - "name": "string",
 - "description": "string",
 - "sortorder": "string"
 
}{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved",
 - "result": "NOTRUN",
 - "timestamp_ms": "string"
 
}Delete an inventory category discount
libmonetra KVS equivalent for endpoint
action = adminadmin = prodmanageprodmanage = discount_del| id  required   | string  Unique ID of the discount  | 
| timestamp_ms  required   | string  Last updated Unix timestamp in milliseconds  | 
curl -X DELETE 'https://test.transafe.com/api/v1/inventory/category/discount/26863859502458458?timestamp_ms=1588258706031'
{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved",
 - "result": "NOTRUN"
 
}Gets details for the specified discount.
See List Stored Discounts for report output
libmonetra KVS equivalent for endpoint
action = adminadmin = prodlistjson = falseprodlist = discount| id  required   | string  Unique ID of the discount  | 
| name | string  Name of the discount  | 
| category_id | string  Unique ID of the product category  | 
| timestamp_ms | string  The maximum recorded timestamp_ms of the last fetch. Will only return records newer than this.  | 
curl -X GET 'https://test.transafe.com/api/v1/inventory/category/discount/1588258706031' --basic -u 'test_retail|public:publ1ct3st'
{- "code": "AUTH",
 - "report": {
- "property1": "string",
 - "property2": "string"
 
} 
}Edit an inventory category discount
libmonetra KVS equivalent for endpoint
action = adminadmin = prodmanageprodmanage = discount_edit| id  required   | string  Unique ID of the discount  | 
| timestamp_ms  required   | string\d+  Last updated Unix timestamp in milliseconds  | 
| category_id | string\d+  Unique ID of the product category  | 
| name | string  <= 32 characters   Name of the discount  | 
| description | string  <= 128 characters   Description of the discount  | 
| type | string  Default:  "percentage"  Enum: "percentage" "fixed"   How the discount amount is applied Values: 
  | 
| usecase | string  Enum: "item" "order" "both" "cashdiscount"   What the discount applies to in the order Values: 
  | 
| amount | string\d*(\.\d{0,5})?  Amount (up to 5 decimal places)  | 
| sortorder | string\d+  UI sort order (display purposes only)  | 
{- "timestamp_ms": "string",
 - "category_id": "string",
 - "name": "string",
 - "description": "string",
 - "type": "percentage",
 - "usecase": "item",
 - "amount": "string",
 - "sortorder": "string"
 
}{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved",
 - "result": "NOTRUN",
 - "timestamp_ms": "string"
 
}Delete an inventory modifier
libmonetra KVS equivalent for endpoint
action = adminadmin = prodmanageprodmanage = modifier_del| id  required   | string  Unique ID of the modifier  | 
| timestamp_ms  required   | string  Last updated Unix timestamp in milliseconds  | 
curl -X DELETE 'https://test.transafe.com/api/v1/inventory/modifierset/modifier/82859028592849248?timestamp_ms=1895849024551'
{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved",
 - "result": "NOTRUN"
 
}Gets details for the specified modifier.
See List Stored Modifiers for report output
libmonetra KVS equivalent for endpoint
action = adminadmin = prodlistjson = falseprodlist = modifier| id  required   | string  Unique ID of the modifier  | 
| name | string  Name of the modifier  | 
| modifierset_id | string  Unique ID of the modifier set  | 
| timestamp_ms | string  The maximum recorded timestamp_ms of the last fetch. Will only return records newer than this.  | 
curl -X GET 'https://test.transafe.com/api/v1/inventory/modifier/1588258706031' --basic -u 'test_retail|public:publ1ct3st'
{- "code": "AUTH",
 - "report": {
- "property1": "string",
 - "property2": "string"
 
} 
}Edit an inventory modifier
libmonetra KVS equivalent for endpoint
action = adminadmin = prodmanageprodmanage = modifier_edit| id  required   | string  Unique ID of the modifier  | 
| timestamp_ms  required   | string\d+  Last updated Unix timestamp in milliseconds  | 
| modifierset_id | string\d+  Unique ID of the modifier set  | 
| name | string  <= 32 characters   Name of the modifier  | 
| description | string  <= 128 characters   Description of the modifier  | 
| price | string\d*(\.\d{0,5})?  Price (up to 5 decimal places)  | 
| unit | string  Free-form unit of measure Merchant's description for a unit of measurement. If no good description, use 'Unit'  | 
| sortorder | string\d+  UI sort order (display purposes only)  | 
{- "timestamp_ms": "string",
 - "modifierset_id": "string",
 - "name": "string",
 - "description": "string",
 - "price": "string",
 - "unit": "string",
 - "sortorder": "string"
 
}{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved",
 - "result": "NOTRUN",
 - "timestamp_ms": "string"
 
}Delete an inventory modifier set
The modifier set must be empty.
libmonetra KVS equivalent for endpoint
action = adminadmin = prodmanageprodmanage = modifierset_del| id  required   | string  Unique ID of the modifier set  | 
| timestamp_ms  required   | string  Last updated Unix timestamp in milliseconds  | 
curl -X DELETE 'https://test.transafe.com/api/v1/inventory/modifierset/84578903855643344?timestamp_ms=1895849024551'
{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved",
 - "result": "NOTRUN"
 
}Edit an inventory modifier set
libmonetra KVS equivalent for endpoint
action = adminadmin = prodmanageprodmanage = modifierset_edit| id  required   | string  Unique ID of the modifier set  | 
| timestamp_ms  required   | string\d+  Last updated Unix timestamp in milliseconds  | 
| name | string  <= 32 characters   Name of the modifier set  | 
| description | string  <= 128 characters   Description of the modifier set  | 
| multiselect | string  Default:  "no"  Enum: "yes" "no"   Whether or not multiple selection is allowed Values: 
  | 
| maxselect | string\d+  How many items may be selected at once (only if multiselect, default=unlimited)  | 
{- "timestamp_ms": "string",
 - "name": "string",
 - "description": "string",
 - "multiselect": "yes",
 - "maxselect": "string"
 
}{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved",
 - "result": "NOTRUN",
 - "timestamp_ms": "string"
 
}Delete an inventory product
libmonetra KVS equivalent for endpoint
action = adminadmin = prodmanageprodmanage = product_del| id  required   | string  Unique ID of the product  | 
| timestamp_ms  required   | string  Last updated Unix timestamp in milliseconds  | 
curl -X DELETE 'https://test.transafe.com/api/v1/inventory/product/27589475894035458?timestamp_ms=1588258706031'
{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved",
 - "result": "NOTRUN"
 
}Gets details for the specified product.
See List Stored products for report output
libmonetra KVS equivalent for endpoint
action = adminadmin = prodlistjson = falseprodlist = product| id  required   | string  Unique ID of the product  | 
| name | string  Name of the product  | 
| category_id | string  Unique ID of the product category  | 
| timestamp_ms | string  The maximum recorded timestamp_ms of the last fetch. Will only return records newer than this.  | 
| fetch_images | object  Enum: "yes" "no"    Example:  fetch_images=yes Include base64-encoded image data Values: 
  | 
curl -X GET 'https://test.transafe.com/api/v1/inventory/product/1758939453334' --basic -u 'test_retail|public:publ1ct3st'
{- "code": "AUTH",
 - "report": {
- "property1": "string",
 - "property2": "string"
 
} 
}Edit an inventory product
libmonetra KVS equivalent for endpoint
action = adminadmin = prodmanageprodmanage = product_edit| id  required   | string  Unique ID of the product  | 
| timestamp_ms  required   | string\d+  Last updated Unix timestamp in milliseconds  | 
| name | string  <= 32 characters   Name of the product  | 
| category_id | string\d+  Unique ID of the product category  | 
| description | string  <= 128 characters   Description of the product  | 
| taxrates | string  comma separated list of taxrate ids (up to 4)  | 
| modifiersets | string  comma separated list of modifierset ids (up to 8)  | 
| req_modifiersets | string  comma separated list of required   | 
| commoditycode | string[0-9a-zA-Z]{8,12}  Contains an international description code of the individual good or service being supplied The acquiring bank or processor should provide the merchant an updated listing of currently defined codes. Please note that this is different from the 4-character summary commodity code. Codes can be found online at http://www.unspsc.org The code itself will not be validated; only the format is validated.  | 
| unit | string  Free-form unit of measure Merchant's description for a unit of measurement. If no good description, use 'Unit'  | 
| sortorder | string\d+  UI sort order (display purposes only)  | 
| image_data | string[a-zA-Z0-9+/\n]+={0,2}[\n]*  Base64-encoded image data. Supports JPG and PNG formats. 300x300, 256KB max size.  | 
{- "timestamp_ms": "string",
 - "name": "string",
 - "category_id": "string",
 - "description": "string",
 - "taxrates": "string",
 - "modifiersets": "string",
 - "req_modifiersets": "string",
 - "commoditycode": "string",
 - "unit": "string",
 - "sortorder": "string",
 - "image_data": "ABC="
 
}{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved",
 - "result": "NOTRUN",
 - "timestamp_ms": "string"
 
}Delete an inventory product SKU
libmonetra KVS equivalent for endpoint
action = adminadmin = prodmanageprodmanage = sku_del| id  required   | string  Unique ID of the SKU  | 
| timestamp_ms  required   | string  Last updated Unix timestamp in milliseconds  | 
curl -X DELETE 'https://test.transafe.com/api/v1/inventory/product/sku/13748493859345458?timestamp_ms=57849320845'
{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved",
 - "result": "NOTRUN"
 
}Gets details for the specified SKU.
See List Stored SKUs for report output
libmonetra KVS equivalent for endpoint
action = adminadmin = prodlistjson = falseprodlist = sku| id  required   | string  Unique ID of the SKU  | 
| name | string  Name of the SKU  | 
| product_id | string  Unique ID of the product  | 
| in_stock | object  Enum: "yes" "no"    Example:  in_stock=yes Whether the in stock status should be evaulated as a condition Values: 
  | 
| timestamp_ms | string  The maximum recorded timestamp_ms of the last fetch. Will only return records newer than this.  | 
curl -X GET 'https://test.transafe.com/api/v1/inventory/sku/1588258706031' --basic -u 'test_retail|public:publ1ct3st'
{- "code": "AUTH",
 - "report": {
- "property1": "string",
 - "property2": "string"
 
} 
}Edit an inventory product SKU
libmonetra KVS equivalent for endpoint
action = adminadmin = prodmanageprodmanage = sku_edit| id  required   | string  Unique ID of the SKU  | 
| timestamp_ms  required   | string\d+  Last updated Unix timestamp in milliseconds  | 
| product_id | string\d+  Unique ID of the product  | 
| name | string  <= 32 characters   Name of the SKU  | 
| price | string\d*(\.\d{0,5})?  Price (up to 5 decimal places)  | 
| inventory | string  Default:  "unlimited"  Enum: "unlimited" "tracked" "outofstock"   Type of item stocking Values: 
  | 
| barcode | string  <= 32 characters   Decoded Barcode. E.g. 2d barcode decoded to the UPC number  | 
| description | string  <= 128 characters   Description of the SKU  | 
| sortorder | string\d+  UI sort order (display purposes only)  | 
{- "timestamp_ms": "string",
 - "product_id": "string",
 - "name": "string",
 - "price": "string",
 - "inventory": "unlimited",
 - "barcode": "string",
 - "description": "string",
 - "sortorder": "string"
 
}{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved",
 - "result": "NOTRUN",
 - "timestamp_ms": "string"
 
}Delete an inventory tax rate
libmonetra KVS equivalent for endpoint
action = adminadmin = prodmanageprodmanage = taxrate_del| id  required   | string  Unique ID of the tax rate  | 
| timestamp_ms  required   | string  Last updated Unix timestamp in milliseconds  | 
curl -X DELETE 'https://test.transafe.com/api/v1/inventory/taxrate/14859438593544438?timestamp_ms=1859386643324'
{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved",
 - "result": "NOTRUN"
 
}Gets details for the specified tax rate.
See List Stored tax rates for report output
libmonetra KVS equivalent for endpoint
action = adminadmin = prodlistjson = falseprodlist = taxrate| id  required   | string  Unique ID of the tax rate  | 
| name | string  Name of the tax rate  | 
| timestamp_ms | string  The maximum recorded timestamp_ms of the last fetch. Will only return records newer than this.  | 
curl -X GET 'https://test.transafe.com/api/v1/inventory/taxrate/1588258706031' --basic -u 'test_retail|public:publ1ct3st'
{- "code": "AUTH",
 - "report": {
- "property1": "string",
 - "property2": "string"
 
} 
}Edit an inventory tax rate
libmonetra KVS equivalent for endpoint
action = adminadmin = prodmanageprodmanage = taxrate_edit| id  required   | string  Unique ID of the tax rate  | 
| timestamp_ms  required   | string\d+  Last updated Unix timestamp in milliseconds  | 
| name | string  <= 32 characters   Name of the tax rate  | 
| percentage | string\d*(\.\d{0,5})?  Percentage of tax rate (up to 5 decimal places)  | 
| default | string  Default:  "no"  Enum: "yes" "no"   Whether this should be applied by default to new products (UI) Values: 
  | 
| roundmethod | string  Enum: "normal" "bankers"   Method used for rounding Values: 
  | 
| sortorder | string\d+  UI sort order (display purposes only)  | 
{- "timestamp_ms": "string",
 - "name": "string",
 - "percentage": "string",
 - "default": "yes",
 - "roundmethod": "normal",
 - "sortorder": "string"
 
}{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved",
 - "result": "NOTRUN",
 - "timestamp_ms": "string"
 
}List inventory category discounts
The resulting report will contain these headers:
id, name, timestamp_ms, category_id, description, type,
usecase, amount, sortorderlibmonetra KVS equivalent for endpoint
action = adminadmin = prodlistjson = falseprodlist = discount| id | string  Unique ID of the discount  | 
| name | string  Name of the discount  | 
| category_id | string  Unique ID of the product category  | 
| timestamp_ms | string  The maximum recorded timestamp_ms of the last fetch. Will only return records newer than this.  | 
curl -X GET 'https://test.transafe.com/api/v1/inventory/category/discount' --basic -u 'test_retail|public:publ1ct3st'
{- "code": "AUTH",
 - "report": {
- "property1": "string",
 - "property2": "string"
 
} 
}Gets details for the specified modifier set.
See List Stored Modifier Sets for report output
libmonetra KVS equivalent for endpoint
action = adminadmin = prodlistjson = falseprodlist = modifierset| id  required   | string  Unique ID of the modifier set  | 
| name | string  Name of the modifier set  | 
| timestamp_ms | string  The maximum recorded timestamp_ms of the last fetch. Will only return records newer than this.  | 
curl -X GET 'https://test.transafe.com/api/v1/product/modifierset/1588258706031' --basic -u 'test_retail|public:publ1ct3st'
{- "code": "AUTH",
 - "report": {
- "property1": "string",
 - "property2": "string"
 
} 
}List inventory modifiers
The resulting report will contain these headers:
id, name, timestamp_ms, modifierset_id, description, price,
commoditycode, unit, sortorderlibmonetra KVS equivalent for endpoint
action = adminadmin = prodlistjson = falseprodlist = modifier| id | string  Unique ID of the modifier  | 
| name | string  Name of the modifier  | 
| modifierset_id | string  Unique ID of the modifier set  | 
| timestamp_ms | string  The maximum recorded timestamp_ms of the last fetch. Will only return records newer than this.  | 
curl -X GET 'https://test.transafe.com/api/v1/inventory/modifierset/modifier' --basic -u 'test_retail|public:publ1ct3st'
{- "code": "AUTH",
 - "report": {
- "property1": "string",
 - "property2": "string"
 
} 
}Gets modifiers for a given modifier set.
See List Stored Modifiers for report output
libmonetra KVS equivalent for endpoint
action = adminadmin = prodlistjson = falseprodlist = modifier| modifierset_id  required   | string  Unique ID of the modifier set  | 
| id | string  Unique ID of the modifier  | 
| name | string  Name of the modifier  | 
| timestamp_ms | string  The maximum recorded timestamp_ms of the last fetch. Will only return records newer than this.  | 
curl -X GET 'https://test.transafe.com/api/v1/inventory/modifierset/1588258706031/modifiers' --basic -u 'test_retail|public:publ1ct3st'
{- "code": "AUTH",
 - "report": {
- "property1": "string",
 - "property2": "string"
 
} 
}List inventory product SKUs
The resulting report will contain these headers:
id, name, timestamp_ms, product_id, barcode, description,
price, sortorder, in_stocklibmonetra KVS equivalent for endpoint
action = adminadmin = prodlistjson = falseprodlist = sku| id | string  Unique ID of the SKU  | 
| name | string  Name of the SKU  | 
| product_id | string  Unique ID of the product  | 
| in_stock | object  Enum: "yes" "no"    Example:  in_stock=yes Whether the in stock status should be evaulated as a condition Values: 
  | 
| timestamp_ms | string  The maximum recorded timestamp_ms of the last fetch. Will only return records newer than this.  | 
curl -X GET 'https://test.transafe.com/api/v1/inventory/product/sku' --basic -u 'test_retail|public:publ1ct3st'
{- "code": "AUTH",
 - "report": {
- "property1": "string",
 - "property2": "string"
 
} 
}Gets SKUs for a given product.
See List Stored SKUs for report output
libmonetra KVS equivalent for endpoint
action = adminadmin = prodlistjson = falseprodlist = sku| product_id  required   | string  Unique ID of the product  | 
| id | string  Unique ID of the SKU  | 
| name | string  Name of the SKU  | 
| in_stock | object  Enum: "yes" "no"    Example:  in_stock=yes Whether the in stock status should be evaulated as a condition Values: 
  | 
| timestamp_ms | string  The maximum recorded timestamp_ms of the last fetch. Will only return records newer than this.  | 
curl -X GET 'https://test.transafe.com/api/v1/inventory/product/1588258706031/skus' --basic -u 'test_retail|public:publ1ct3st'
{- "code": "AUTH",
 - "report": {
- "property1": "string",
 - "property2": "string"
 
} 
}Set the quantity for SKU
Tracking for the number of items in stock
libmonetra KVS equivalent for endpoint
action = adminadmin = prodmanageprodmanage = inventory_set| id  required   | string  Unique ID of the SKU  | 
| timestamp_ms  required   | string\d+  Last updated Unix timestamp in milliseconds  | 
| cnt  required   | string\d+  Exact count of inventory in stock  | 
{- "timestamp_ms": "string",
 - "cnt": "string"
 
}{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved",
 - "result": "NOTRUN",
 - "timestamp_ms": "string"
 
}Add a cash payment to the order
libmonetra KVS equivalent for endpoint
action = adminadmin = ordermanageordermanage = payment_addtendertype = CASH| order_id  required   | string  Unique ID of an order  | 
| amount  required   | string\d*(\.\d{0,2})?  Amount of money, including decimal. E.g  This is the total amount and is an aggregate of all supplementary amounts.  | 
| tip  required   | string\d+(\.\d{0,2})?  Tip amount  | 
{- "amount": "19.92",
 - "tip": "0.33"
 
}{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved",
 - "result": "NOTRUN",
 - "id": "string"
 
}Add a check payment to the order
libmonetra KVS equivalent for endpoint
action = adminadmin = ordermanageordermanage = payment_addtendertype = CHECK| order_id  required   | string  Unique ID of an order  | 
| amount  required   | string\d*(\.\d{0,2})?  Amount of money, including decimal. E.g  This is the total amount and is an aggregate of all supplementary amounts.  | 
| tip  required   | string\d+(\.\d{0,2})?  Tip amount  | 
| checknum  required   | string\d+  Check number  | 
{- "amount": "19.92",
 - "tip": "0.33",
 - "checknum": "string"
 
}{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved",
 - "result": "NOTRUN",
 - "id": "string"
 
}Add a custom fixed discount to the order
For adding discounts that are not in the inventory system.
libmonetra KVS equivalent for endpoint
action = adminadmin = ordermanageordermanage = item_addref_id = 0type = DISCOUNT_FIXED| order_id  required   | string  Unique ID of an order  | 
| ringorder  required   | string  Order in which item needs to be displayed. Does not need to be sequential. But must be unique for the line item  | 
| qty | string  Quantity of the item being purchased This field allows up to 5 decimal places of precision. If the card brand does not allow that level of precision, the number will be rounded. Minimum quantity is 0.00005. Maximum quantity is 99999.00.  | 
| amount  required   | string\d*(\.\d{0,5})?  Amount of money, including up to 5 decimal places. E.g  This is the amount of 1 unit.  | 
| taxrates | string  comma separated list of taxrate ids (up to 4)  | 
| name  required   | string  <= 32 characters   Name of the discount  | 
| productcode | string[0-9a-zA-Z ]{1,12}  Merchant-defined code for the item being purchased, such as a UPC #, SKU #, or Item #  | 
| commoditycode | string[0-9a-zA-Z]{8,12}  Contains an international description code of the individual good or service being supplied The acquiring bank or processor should provide the merchant an updated listing of currently defined codes. Please note that this is different from the 4-character summary commodity code. Codes can be found online at http://www.unspsc.org The code itself will not be validated; only the format is validated.  | 
| unit | string  Free-form unit of measure Merchant's description for a unit of measurement. If no good description, use 'Unit'  | 
| notes | string  <= 1024 characters   General free-form information  | 
| group_name | string  <= 32 characters    | 
{- "ringorder": "string",
 - "qty": "string",
 - "amount": "4.779",
 - "taxrates": "string",
 - "name": "string",
 - "productcode": "string",
 - "commoditycode": "string",
 - "unit": "string",
 - "notes": "string",
 - "group_name": "string"
 
}{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved",
 - "result": "NOTRUN",
 - "id": "string"
 
}Add a custom line item to the order
For adding line items that are not SKUs in the inventory system.
libmonetra KVS equivalent for endpoint
action = adminadmin = ordermanageordermanage = item_addref_id = 0type = ADDON| order_id  required   | string  Unique ID of an order  | 
| ringorder  required   | string  Order in which item needs to be displayed. Does not need to be sequential. But must be unique for the line item  | 
| qty | string  Quantity of the item being purchased This field allows up to 5 decimal places of precision. If the card brand does not allow that level of precision, the number will be rounded. Minimum quantity is 0.00005. Maximum quantity is 99999.00.  | 
| amount  required   | string\d*(\.\d{0,5})?  Amount of money, including up to 5 decimal places. E.g  This is the amount of 1 unit.  | 
| taxrates | string  comma separated list of taxrate ids (up to 4)  | 
| name  required   | string  <= 32 characters   Name of the line item  | 
| productcode | string[0-9a-zA-Z ]{1,12}  Merchant-defined code for the item being purchased, such as a UPC #, SKU #, or Item #  | 
| commoditycode | string[0-9a-zA-Z]{8,12}  Contains an international description code of the individual good or service being supplied The acquiring bank or processor should provide the merchant an updated listing of currently defined codes. Please note that this is different from the 4-character summary commodity code. Codes can be found online at http://www.unspsc.org The code itself will not be validated; only the format is validated.  | 
| unit | string  Free-form unit of measure Merchant's description for a unit of measurement. If no good description, use 'Unit'  | 
| notes | string  <= 1024 characters   General free-form information  | 
| group_name | string  <= 32 characters    | 
{- "ringorder": "string",
 - "qty": "string",
 - "amount": "4.779",
 - "taxrates": "string",
 - "name": "string",
 - "productcode": "string",
 - "commoditycode": "string",
 - "unit": "string",
 - "notes": "string",
 - "group_name": "string"
 
}{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved",
 - "result": "NOTRUN",
 - "id": "string"
 
}Add a custom fixed discount to a line item
For adding discounts that are not in the inventory system.
libmonetra KVS equivalent for endpoint
action = adminadmin = ordermanageordermanage = modifier_addref_id = 0type = DISCOUNT_FIXED| item_id  required   | string  Order item identifier  | 
| order_id  required   | string  Unique ID of an order  | 
| ringorder  required   | string  Order in which item needs to be displayed. Does not need to be sequential. But must be unique for the line item  | 
| qty | string  Quantity of the item being purchased This field allows up to 5 decimal places of precision. If the card brand does not allow that level of precision, the number will be rounded. Minimum quantity is 0.00005. Maximum quantity is 99999.00.  | 
| amount  required   | string\d*(\.\d{0,5})?  Amount of money, including up to 5 decimal places. E.g  This is the amount of 1 unit.  | 
| name  required   | string  <= 32 characters   Name of line item discount  | 
{- "ringorder": "string",
 - "qty": "string",
 - "amount": "4.779",
 - "name": "string"
 
}{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved",
 - "result": "NOTRUN",
 - "id": "string"
 
}Add a custom modifier to a line item
For adding modifiers that are not in the inventory system.
libmonetra KVS equivalent for endpoint
action = adminadmin = ordermanageordermanage = modifier_addref_id = 0type = ADDON| item_id  required   | string  Order item identifier  | 
| order_id  required   | string  Unique ID of an order  | 
| ringorder  required   | string  Order in which item needs to be displayed. Does not need to be sequential. But must be unique for the line item  | 
| qty | string  Quantity of the item being purchased This field allows up to 5 decimal places of precision. If the card brand does not allow that level of precision, the number will be rounded. Minimum quantity is 0.00005. Maximum quantity is 99999.00.  | 
| amount  required   | string\d*(\.\d{0,5})?  Amount of money, including up to 5 decimal places. E.g  This is the amount of 1 unit.  | 
| name  required   | string  <= 32 characters   Name of line item modifier  | 
{- "ringorder": "string",
 - "qty": "string",
 - "amount": "4.779",
 - "name": "string"
 
}{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved",
 - "result": "NOTRUN",
 - "id": "string"
 
}Add a custom percent discount to a line item
For adding discounts that are not in the inventory system.
libmonetra KVS equivalent for endpoint
action = adminadmin = ordermanageordermanage = modifier_addref_id = 0type = DISCOUNT_PERCENT| item_id  required   | string  Order item identifier  | 
| order_id  required   | string  Unique ID of an order  | 
| ringorder  required   | string  Order in which item needs to be displayed. Does not need to be sequential. But must be unique for the line item  | 
| qty | string  Quantity of the item being purchased This field allows up to 5 decimal places of precision. If the card brand does not allow that level of precision, the number will be rounded. Minimum quantity is 0.00005. Maximum quantity is 99999.00.  | 
| amount  required   | string\d*(\.\d{0,5})?  Amount of money, including up to 5 decimal places. E.g  This is the amount of 1 unit.  | 
| name  required   | string  <= 32 characters   Name of line item discount  | 
{- "ringorder": "string",
 - "qty": "string",
 - "amount": "4.779",
 - "name": "string"
 
}{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved",
 - "result": "NOTRUN",
 - "id": "string"
 
}Add a custom percent discount to the order
For adding discounts that are not in the inventory system.
libmonetra KVS equivalent for endpoint
action = adminadmin = ordermanageordermanage = item_addref_id = 0type = DISCOUNT_PERCENT| order_id  required   | string  Unique ID of an order  | 
| ringorder  required   | string  Order in which item needs to be displayed. Does not need to be sequential. But must be unique for the line item  | 
| qty | string  Quantity of the item being purchased This field allows up to 5 decimal places of precision. If the card brand does not allow that level of precision, the number will be rounded. Minimum quantity is 0.00005. Maximum quantity is 99999.00.  | 
| amount  required   | string\d*(\.\d{0,5})?  Amount of money, including up to 5 decimal places. E.g  This is the amount of 1 unit.  | 
| taxrates | string  comma separated list of taxrate ids (up to 4)  | 
| name  required   | string  <= 32 characters   Name of the discount  | 
| productcode | string[0-9a-zA-Z ]{1,12}  Merchant-defined code for the item being purchased, such as a UPC #, SKU #, or Item #  | 
| commoditycode | string[0-9a-zA-Z]{8,12}  Contains an international description code of the individual good or service being supplied The acquiring bank or processor should provide the merchant an updated listing of currently defined codes. Please note that this is different from the 4-character summary commodity code. Codes can be found online at http://www.unspsc.org The code itself will not be validated; only the format is validated.  | 
| unit | string  Free-form unit of measure Merchant's description for a unit of measurement. If no good description, use 'Unit'  | 
| notes | string  <= 1024 characters   General free-form information  | 
| group_name | string  <= 32 characters    | 
{- "ringorder": "string",
 - "qty": "string",
 - "amount": "4.779",
 - "taxrates": "string",
 - "name": "string",
 - "productcode": "string",
 - "commoditycode": "string",
 - "unit": "string",
 - "notes": "string",
 - "group_name": "string"
 
}{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved",
 - "result": "NOTRUN",
 - "id": "string"
 
}Add a fixed amount discount to the order
The discount references a discount from the inventory system.
libmonetra KVS equivalent for endpoint
action = adminadmin = ordermanageordermanage = item_addtype = DISCOUNT_FIXED| order_id  required   | string  Unique ID of an order  | 
| ref_id  required   | string[0-9]+  Unique ID of the discount  | 
| ringorder  required   | string  Order in which item needs to be displayed. Does not need to be sequential. But must be unique for the line item  | 
| qty | string  Quantity of the item being purchased This field allows up to 5 decimal places of precision. If the card brand does not allow that level of precision, the number will be rounded. Minimum quantity is 0.00005. Maximum quantity is 99999.00.  | 
| notes | string  <= 1024 characters   General free-form information  | 
| group_name | string  <= 32 characters    | 
{- "ref_id": "string",
 - "ringorder": "string",
 - "qty": "string",
 - "notes": "string",
 - "group_name": "string"
 
}{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved",
 - "result": "NOTRUN",
 - "id": "string"
 
}List order payments
Gets the Payments for the specified order.
The resulting report will contain these headers:
id, timestamp_ms, order_id, tendertype, amount, tip, status, ttid,
cardtype, last4, cardholdername, checknum, is_deletedlibmonetra KVS equivalent for endpoint
action = adminadmin = orderlistjson = noorderlist = payments| order_id  required   | string  Unique ID of an order  | 
| id | string  Unique ID of a payment for an order  | 
| customer_id | string  Comma separated list of customer identifiers  | 
| ordernum | string   Example:  ordernum=A13DDES345 Order number An order number is required for all Card Not Present (e.g. Mail Order / Telephone Order and E-commerce) transactions, all transactions for the Restaurant industry, and all Level 2 cards such as Purchase or Corporate cards. Since it is not possible to know the card type prior to a request to TranSafe, an order number should be sent on all transactions. Normally, an order number is alphanumeric. However, for the restaurant industry, it should be numeric only. Processors are limited in the number of characters that can be sent as part of a transaction. Non restaurant industry will only have 25 characters sent and restaurant will only have 6.  | 
| type | object  Enum: "ORDER" "QUICK" "INVOICE"    Example:  type=ORDER,QUICK Comma separated list of order types Flag values (comma separated): 
  | 
| status | object  Enum: "PENDING" "OPEN" "PARTIALPAID" "COMPLETE" "CANCEL" "FORCECLOSED"    Example:  status=OPEN,PARTIALPAID Comma separated list of order status Flag values (comma separated): 
  | 
| timestamp_create_bdate | string  Start of order created date range as a timestamp  | 
| timestamp_create_edate | string  End of order created date range as a timestamp  | 
| timestamp_close_bdate | string  Start of order closed date range as a timestamp  | 
| timestamp_close_edate | string  End of order closed date range as a timestamp  | 
| timestamp_ms | string  The maximum recorded timestamp_ms of the last fetch. Will only return records newer than this.  | 
curl -X GET 'https://test.transafe.com/api/v1/order/5784392456/payment' --basic -u 'test_retail|public:publ1ct3st'
{- "code": "AUTH",
 - "report": {
- "property1": "string",
 - "property2": "string"
 
} 
}Add a payment to the order
References an existing transaction.
libmonetra KVS equivalent for endpoint
action = adminadmin = ordermanageordermanage = payment_addtendertype = TXN| order_id  required   | string  Unique ID of an order  | 
| ttid  required   | string  Transaction identifier  | 
{- "ttid": "string"
 
}{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved",
 - "result": "NOTRUN",
 - "id": "string"
 
}Add a percentage discount to the order
The discount references a discount from the inventory system.
libmonetra KVS equivalent for endpoint
action = adminadmin = ordermanageordermanage = item_addtype = DISCOUNT_PERCENT| order_id  required   | string  Unique ID of an order  | 
| ref_id  required   | string[0-9]+  Unique ID of the discount  | 
| ringorder  required   | string  Order in which item needs to be displayed. Does not need to be sequential. But must be unique for the line item  | 
| qty | string  Quantity of the item being purchased This field allows up to 5 decimal places of precision. If the card brand does not allow that level of precision, the number will be rounded. Minimum quantity is 0.00005. Maximum quantity is 99999.00.  | 
| notes | string  <= 1024 characters   General free-form information  | 
| group_name | string  <= 32 characters    | 
{- "ref_id": "string",
 - "ringorder": "string",
 - "qty": "string",
 - "notes": "string",
 - "group_name": "string"
 
}{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved",
 - "result": "NOTRUN",
 - "id": "string"
 
}List order items
Gets Items for the specified Order.
The resulting report will contain these headers:
id, timestamp_ms, order_id, type, ringorder, ref_id, qty, amount,
total_modifiers, total_mod_disc, total_ord_disc, taxrates, name,
productcode, commoditycode, unit, notes, group_name, is_deletedlibmonetra KVS equivalent for endpoint
action = adminadmin = orderlistjson = noorderlist = items| order_id  required   | string  Unique ID of an order  | 
| id | string  Order item identifier  | 
| customer_id | string  Comma separated list of customer identifiers  | 
| ordernum | string   Example:  ordernum=A13DDES345 Order number An order number is required for all Card Not Present (e.g. Mail Order / Telephone Order and E-commerce) transactions, all transactions for the Restaurant industry, and all Level 2 cards such as Purchase or Corporate cards. Since it is not possible to know the card type prior to a request to TranSafe, an order number should be sent on all transactions. Normally, an order number is alphanumeric. However, for the restaurant industry, it should be numeric only. Processors are limited in the number of characters that can be sent as part of a transaction. Non restaurant industry will only have 25 characters sent and restaurant will only have 6.  | 
| type | object  Enum: "ORDER" "QUICK" "INVOICE"    Example:  type=ORDER,QUICK Comma separated list of order types Flag values (comma separated): 
  | 
| status | object  Enum: "PENDING" "OPEN" "PARTIALPAID" "COMPLETE" "CANCEL" "FORCECLOSED"    Example:  status=OPEN,PARTIALPAID Comma separated list of order status Flag values (comma separated): 
  | 
| timestamp_create_bdate | string  Start of order created date range as a timestamp  | 
| timestamp_create_edate | string  End of order created date range as a timestamp  | 
| timestamp_close_bdate | string  Start of order closed date range as a timestamp  | 
| timestamp_close_edate | string  End of order closed date range as a timestamp  | 
| timestamp_ms | string  The maximum recorded timestamp_ms of the last fetch. Will only return records newer than this.  | 
curl -X GET 'https://test.transafe.com/api/v1/order/7589432567654/item' --basic -u 'test_retail|public:publ1ct3st'
{- "code": "AUTH",
 - "report": {
- "property1": "string",
 - "property2": "string"
 
} 
}Add a line item to the order
The line item references a SKU from the inventory system.
libmonetra KVS equivalent for endpoint
action = adminadmin = ordermanageordermanage = item_addtype = ADDON| order_id  required   | string  Unique ID of an order  | 
| ref_id  required   | string[0-9]+  Unique ID of the inventory SKU  | 
| ringorder  required   | string  Order in which item needs to be displayed. Does not need to be sequential. But must be unique for the line item  | 
| qty | string  Quantity of the item being purchased This field allows up to 5 decimal places of precision. If the card brand does not allow that level of precision, the number will be rounded. Minimum quantity is 0.00005. Maximum quantity is 99999.00.  | 
| notes | string  <= 1024 characters   General free-form information  | 
| group_name | string  <= 32 characters    | 
{- "ref_id": "string",
 - "ringorder": "string",
 - "qty": "string",
 - "notes": "string",
 - "group_name": "string"
 
}{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved",
 - "result": "NOTRUN",
 - "id": "string"
 
}Add a fixed discount to a line item
libmonetra KVS equivalent for endpoint
action = adminadmin = ordermanageordermanage = modifier_addtype = DISCOUNT_FIXED| item_id  required   | string  Order item identifier  | 
| order_id  required   | string  Unique ID of an order  | 
| ref_id  required   | string\d+  Unique ID of the inventory discount  | 
| ringorder  required   | string  Order in which item needs to be displayed. Does not need to be sequential. But must be unique for the line item  | 
| qty | string  Quantity of the item being purchased This field allows up to 5 decimal places of precision. If the card brand does not allow that level of precision, the number will be rounded. Minimum quantity is 0.00005. Maximum quantity is 99999.00.  | 
{- "ref_id": "string",
 - "ringorder": "string",
 - "qty": "string"
 
}{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved",
 - "result": "NOTRUN",
 - "id": "string"
 
}List order item modifiers
Gets modifiers for the specified item.
The resulting report will contain these headers:
id, timestamp_ms, order_id, type, ringorder, ref_id, qty, amount,
total_modifiers, total_mod_disc, total_ord_disc, taxrates, name,
productcode, commoditycode, unit, notes, group_name, is_deletedlibmonetra KVS equivalent for endpoint
action = adminadmin = orderlistjson = noorderlist = modifiers| item_id  required   | string  Order item identifier  | 
| order_id  required   | string  Unique ID of an order  | 
| id | string  Order item modifier identifier  | 
| customer_id | string  Comma separated list of customer identifiers  | 
| ordernum | string   Example:  ordernum=A13DDES345 Order number An order number is required for all Card Not Present (e.g. Mail Order / Telephone Order and E-commerce) transactions, all transactions for the Restaurant industry, and all Level 2 cards such as Purchase or Corporate cards. Since it is not possible to know the card type prior to a request to TranSafe, an order number should be sent on all transactions. Normally, an order number is alphanumeric. However, for the restaurant industry, it should be numeric only. Processors are limited in the number of characters that can be sent as part of a transaction. Non restaurant industry will only have 25 characters sent and restaurant will only have 6.  | 
| type | object  Enum: "ORDER" "QUICK" "INVOICE"    Example:  type=ORDER,QUICK Comma separated list of order types Flag values (comma separated): 
  | 
| status | object  Enum: "PENDING" "OPEN" "PARTIALPAID" "COMPLETE" "CANCEL" "FORCECLOSED"    Example:  status=OPEN,PARTIALPAID Comma separated list of order status Flag values (comma separated): 
  | 
| timestamp_create_bdate | string  Start of order created date range as a timestamp  | 
| timestamp_create_edate | string  End of order created date range as a timestamp  | 
| timestamp_close_bdate | string  Start of order closed date range as a timestamp  | 
| timestamp_close_edate | string  End of order closed date range as a timestamp  | 
| timestamp_ms | string  The maximum recorded timestamp_ms of the last fetch. Will only return records newer than this.  | 
curl -X GET 'https://test.transafe.com/api/v1/order/item/7584933567654/modifier' --basic -u 'test_retail|public:publ1ct3st'
{- "code": "AUTH",
 - "report": {
- "property1": "string",
 - "property2": "string"
 
} 
}Add an item modifier to a line item
libmonetra KVS equivalent for endpoint
action = adminadmin = ordermanageordermanage = modifier_addtype = ADDON| item_id  required   | string  Order item identifier  | 
| order_id  required   | string  Unique ID of an order  | 
| ref_id  required   | string\d+  Unique ID of the inventory modifier  | 
| ringorder  required   | string  Order in which item needs to be displayed. Does not need to be sequential. But must be unique for the line item  | 
| qty | string  Quantity of the item being purchased This field allows up to 5 decimal places of precision. If the card brand does not allow that level of precision, the number will be rounded. Minimum quantity is 0.00005. Maximum quantity is 99999.00.  | 
{- "ref_id": "string",
 - "ringorder": "string",
 - "qty": "string"
 
}{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved",
 - "result": "NOTRUN",
 - "id": "string"
 
}Add a percent discount to a line item
libmonetra KVS equivalent for endpoint
action = adminadmin = ordermanageordermanage = modifier_addtype = DISCOUNT_PERCENT| item_id  required   | string  Order item identifier  | 
| order_id  required   | string  Unique ID of an order  | 
| ref_id  required   | string\d+  Unique ID of the inventory discount  | 
| ringorder  required   | string  Order in which item needs to be displayed. Does not need to be sequential. But must be unique for the line item  | 
| qty | string  Quantity of the item being purchased This field allows up to 5 decimal places of precision. If the card brand does not allow that level of precision, the number will be rounded. Minimum quantity is 0.00005. Maximum quantity is 99999.00.  | 
{- "ref_id": "string",
 - "ringorder": "string",
 - "qty": "string"
 
}{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved",
 - "result": "NOTRUN",
 - "id": "string"
 
}Cancels a cash or check payment associated with the order
A transaction that was applied to the order cannot be canceled directly. It must be reversed which will atomically mark it as canceled in the order.
libmonetra KVS equivalent for endpoint
action = adminadmin = ordermanageordermanage = payment_cancel| id  required   | string  Unique ID of a payment for an order  | 
| order_id  required   | string  Unique ID of an order  | 
curl -X DELETE 'https://test.transafe.com/api/v1/order/20245528771333405/payment/758493245430' --basic -u 'test_retail|public:publ1ct3st'
{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved",
 - "result": "NOTRUN"
 
}Gets details for the specified payment.
See List Payments for report output
libmonetra KVS equivalent for endpoint
action = adminadmin = orderlistjson = noorderlist = payments| id  required   | string  Unique ID of a payment for an order  | 
| order_id  required   | string  Unique ID of an order  | 
| customer_id | string  Comma separated list of customer identifiers  | 
| ordernum | string   Example:  ordernum=A13DDES345 Order number An order number is required for all Card Not Present (e.g. Mail Order / Telephone Order and E-commerce) transactions, all transactions for the Restaurant industry, and all Level 2 cards such as Purchase or Corporate cards. Since it is not possible to know the card type prior to a request to TranSafe, an order number should be sent on all transactions. Normally, an order number is alphanumeric. However, for the restaurant industry, it should be numeric only. Processors are limited in the number of characters that can be sent as part of a transaction. Non restaurant industry will only have 25 characters sent and restaurant will only have 6.  | 
| type | object  Enum: "ORDER" "QUICK" "INVOICE"    Example:  type=ORDER,QUICK Comma separated list of order types Flag values (comma separated): 
  | 
| status | object  Enum: "PENDING" "OPEN" "PARTIALPAID" "COMPLETE" "CANCEL" "FORCECLOSED"    Example:  status=OPEN,PARTIALPAID Comma separated list of order status Flag values (comma separated): 
  | 
| timestamp_create_bdate | string  Start of order created date range as a timestamp  | 
| timestamp_create_edate | string  End of order created date range as a timestamp  | 
| timestamp_close_bdate | string  Start of order closed date range as a timestamp  | 
| timestamp_close_edate | string  End of order closed date range as a timestamp  | 
| timestamp_ms | string  The maximum recorded timestamp_ms of the last fetch. Will only return records newer than this.  | 
curl -X GET 'https://test.transafe.com/api/v1/order/payment/758493245430' --basic -u 'test_retail|public:publ1ct3st'
{- "code": "AUTH",
 - "report": {
- "property1": "string",
 - "property2": "string"
 
} 
}Cancel an order in the OPEN or PENDING states
The order is not removed from the system. Must be used instead of order delete if there have been payments attempted against it.
It is recommended to delete orders if possible as it doesn't leave stale records.
NOTE: must cancel all applied payments before canceling an order or invoice.
libmonetra KVS equivalent for endpoint
action = adminadmin = ordermanageordermanage = order_cancel| id  required   | string  Order identifier, numeric only  | 
| cancel_reason  required   | string  Enum: "CANCEL" "RETURN" "SATISFACTION"   Reason for order cancellation Values: 
  | 
| timestamp_ms  required   | string\d+  Last updated Unix timestamp in milliseconds  | 
{- "cancel_reason": "CANCEL",
 - "timestamp_ms": "string"
 
}{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved",
 - "result": "NOTRUN"
 
}List orders
The resulting report will contain these headers:
id, timestamp_ms, id_base62, type, flags, status, cancel_reason,
merch_status, customer_id, customer_display_name, ordernum,
ponumber, allowed_cardtypes, securitytoken, timestamp_create,
timestamp_close, timestamp_sent, timestamp_viewed, invoice_date,
invoice_due, taxrates, taxamounts, total_amount, total_tax,
total_discount, total_paid, total_tip, notes, total_tax_override,
ship_name, ship_address1, ship_address2, ship_city, ship_state,
ship_zip, ship_country, ship_notes, invoice_filename, is_deletedlibmonetra KVS equivalent for endpoint
action = adminadmin = orderlistjson = noorderlist = orders| id | string  Order identifier, numeric only  | 
| customer_id | string  Comma separated list of customer identifiers  | 
| ordernum | string   Example:  ordernum=A13DDES345 Order number An order number is required for all Card Not Present (e.g. Mail Order / Telephone Order and E-commerce) transactions, all transactions for the Restaurant industry, and all Level 2 cards such as Purchase or Corporate cards. Since it is not possible to know the card type prior to a request to TranSafe, an order number should be sent on all transactions. Normally, an order number is alphanumeric. However, for the restaurant industry, it should be numeric only. Processors are limited in the number of characters that can be sent as part of a transaction. Non restaurant industry will only have 25 characters sent and restaurant will only have 6.  | 
| type | object  Enum: "ORDER" "QUICK" "INVOICE"    Example:  type=ORDER,QUICK Comma separated list of order types Flag values (comma separated): 
  | 
| status | object  Enum: "PENDING" "OPEN" "PARTIALPAID" "COMPLETE" "CANCEL" "FORCECLOSED"    Example:  status=OPEN,PARTIALPAID Comma separated list of order status Flag values (comma separated): 
  | 
| timestamp_create_bdate | string  Start of order created date range as a timestamp  | 
| timestamp_create_edate | string  End of order created date range as a timestamp  | 
| timestamp_close_bdate | string  Start of order closed date range as a timestamp  | 
| timestamp_close_edate | string  End of order closed date range as a timestamp  | 
| fetch_invoices | object  Enum: "yes" "no"    Example:  fetch_invoices=yes Include base64-encoded invoice data Applies to invoices with external (PDF) invoice documents. Values: 
  | 
| timestamp_ms | string  The maximum recorded timestamp_ms of the last fetch. Will only return records newer than this.  | 
| rcpt_email | string  Email to send customer invoice or order information to  Can be an email or  Will send a link to view and pay the invoice/order if open. Otherwise, will send a link to the completed order with the invoice/order and any payment receipts. Requires a single order id to be specified.  | 
| rcpt_sms | string  SMS to send customer invoice or order information to Will send a link to view and pay the invoice/order if open. Otherwise, will send a link to the completed order with the invoice/order and any payment receipts.  Can be a phone number or  Only US and Canada phone numbers are supported. Requires a single order id to be specified.  | 
curl -X GET 'https://test.transafe.com/api/v1/order' --basic -u 'test_retail|public:publ1ct3st'
{- "code": "AUTH",
 - "report": {
- "property1": "string",
 - "property2": "string"
 
} 
}Create an order or invoice
libmonetra KVS equivalent for endpoint
action = adminadmin = ordermanageordermanage = order_add| type  required   | string  Enum: "ORDER" "QUICK" "INVOICE"   Type of order Values: 
  | 
| status  required   | string  Enum: "PENDING" "OPEN"   Status of the order Values: 
  | 
| flags | string  Value: "NOTIP"   Type of order Flag values (pipe separated): 
  | 
| merch_status | string  Enum: "PENDING" "COMPLETE" "PREPARING" "BACKORDERED"   Merchant status of the order Values: 
  | 
| customer_id | string[0-9]+  Customer identifier, numeric only Required when   | 
| ordernum | string  <= 128 characters   Order number An order number is required for all Card Not Present (e.g. Mail Order / Telephone Order and E-commerce) transactions, all transactions for the Restaurant industry, and all Level 2 cards such as Purchase or Corporate cards. Since it is not possible to know the card type prior to a request to TranSafe, an order number should be sent on all transactions. Normally, an order number is alphanumeric. However, for the restaurant industry, it should be numeric only. Processors are limited in the number of characters that can be sent as part of a transaction. Non restaurant industry will only have 25 characters sent and restaurant will only have 6.  | 
| ponumber | string  <= 32 characters   Unique identifier of the order Typically used with Invoices  | 
| allowed_cardtypes | string  Enum: "VISA" "MC" "AMEX" "DISC" "DINERS" "JCB" "CUP" "GIFT" "ACH"   Card types allowed to be used for payment Pipe-separated (|) list of cardtypes accepted for payment. Merchant must be configured to accept the provided cardtypes. Defaults to allow all if not provided. This is typically used in conjunction with accepting payment online using the TranSafe Invoice Payment Web Page for online order or invoice payment. Flag values (pipe separated): 
  | 
| invoice_date | string  Date the order was created Current date if not provided  | 
| invoice_due | string  Date the order is due Current date if not provided  | 
| notes | string  <= 1024 characters   General free-form information  | 
| total_tax_override | string0?\.\d{2}  Tax override amount, only used if all line items have no tax rates  | 
| ship_name | string  <= 32 characters   Shipping name of recipient "To" field on shipping label.  | 
| ship_address1 | string  <= 32 characters   Shipping street address of recipient Line 1  | 
| ship_address2 | string  <= 32 characters   Shipping street address of recipient Line 2  | 
| ship_city | string  <= 32 characters   Shipping city of recipient  | 
| ship_state | string  <= 32 characters   Shipping state / provence of recipient  | 
| ship_zip | string  <= 32 characters   Shipping zip / postal Code of recipient Used for tax zones  | 
| ship_country | string  <= 32 characters   Shipping country of recipient  | 
| ship_notes | string  <= 128 characters   Shipping delivery instructions  | 
| invoice_filename | string  <= 32 characters   Filename of externally attached invoice PDF Requires: 
  | 
| invoice_data | string[a-zA-Z0-9+/\n]+={0,2}[\n]*  PDF base64 encoded invoice PDF Used for externally generated invoice billing  | 
{- "type": "ORDER",
 - "status": "PENDING",
 - "flags": "NOTIP",
 - "merch_status": "PENDING",
 - "customer_id": "string",
 - "ordernum": "A13DDES345",
 - "ponumber": "string",
 - "allowed_cardtypes": "VISA",
 - "invoice_date": "string",
 - "invoice_due": "string",
 - "notes": "string",
 - "total_tax_override": "string",
 - "ship_name": "string",
 - "ship_address1": "string",
 - "ship_address2": "string",
 - "ship_city": "string",
 - "ship_state": "string",
 - "ship_zip": "string",
 - "ship_country": "string",
 - "ship_notes": "string",
 - "invoice_filename": "string",
 - "invoice_data": "string"
 
}{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved",
 - "result": "NOTRUN",
 - "id": "string",
 - "timestamp_ms": "string"
 
}Completely remove an order or invoice from the system
Cannot be used if an order has had payments applied. If payments have been applied the order must be canceled.
libmonetra KVS equivalent for endpoint
action = adminadmin = ordermanageordermanage = order_del| id  required   | string  Order identifier, numeric only  | 
| timestamp_ms  required   | string  Last updated Unix timestamp in milliseconds  | 
curl -X DELETE 'https://test.transafe.com/api/v1/order/1456543256' --basic -u 'test_retail|public:publ1ct3st'
{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved",
 - "result": "NOTRUN"
 
}Gets details for the specified order.
See List Orders for report output
Can be used to send receipt email or sms
libmonetra KVS equivalent for endpoint
action = adminadmin = orderlistjson = noorderlist = orders| id  required   | string  Order identifier, numeric only  | 
| customer_id | string  Comma separated list of customer identifiers  | 
| ordernum | string   Example:  ordernum=A13DDES345 Order number An order number is required for all Card Not Present (e.g. Mail Order / Telephone Order and E-commerce) transactions, all transactions for the Restaurant industry, and all Level 2 cards such as Purchase or Corporate cards. Since it is not possible to know the card type prior to a request to TranSafe, an order number should be sent on all transactions. Normally, an order number is alphanumeric. However, for the restaurant industry, it should be numeric only. Processors are limited in the number of characters that can be sent as part of a transaction. Non restaurant industry will only have 25 characters sent and restaurant will only have 6.  | 
| type | object  Enum: "ORDER" "QUICK" "INVOICE"    Example:  type=ORDER,QUICK Comma separated list of order types Flag values (comma separated): 
  | 
| status | object  Enum: "PENDING" "OPEN" "PARTIALPAID" "COMPLETE" "CANCEL" "FORCECLOSED"    Example:  status=OPEN,PARTIALPAID Comma separated list of order status Flag values (comma separated): 
  | 
| timestamp_create_bdate | string  Start of order created date range as a timestamp  | 
| timestamp_create_edate | string  End of order created date range as a timestamp  | 
| timestamp_close_bdate | string  Start of order closed date range as a timestamp  | 
| timestamp_close_edate | string  End of order closed date range as a timestamp  | 
| fetch_invoices | object  Enum: "yes" "no"    Example:  fetch_invoices=yes Include base64-encoded invoice data Applies to invoices with external (PDF) invoice documents. Values: 
  | 
| timestamp_ms | string  The maximum recorded timestamp_ms of the last fetch. Will only return records newer than this.  | 
| rcpt_email | string  Email to send customer invoice or order information to  Can be an email or  Will send a link to view and pay the invoice/order if open. Otherwise, will send a link to the completed order with the invoice/order and any payment receipts. Requires a single order id to be specified.  | 
| rcpt_sms | string  SMS to send customer invoice or order information to Will send a link to view and pay the invoice/order if open. Otherwise, will send a link to the completed order with the invoice/order and any payment receipts.  Can be a phone number or  Only US and Canada phone numbers are supported. Requires a single order id to be specified.  | 
curl -X GET 'https://test.transafe.com/api/v1/order/789567654256' --basic -u 'test_retail|public:publ1ct3st'
{- "code": "AUTH",
 - "report": {
- "property1": "string",
 - "property2": "string"
 
} 
}Edit and order or invoice
libmonetra KVS equivalent for endpoint
action = adminadmin = ordermanageordermanage = order_edit| id  required   | string  Order identifier, numeric only  | 
| type | string  Enum: "ORDER" "QUICK" "INVOICE"   Type of order Values: 
  | 
| status | string  Enum: "PENDING" "OPEN"   Status of the order Values: 
  | 
| flags | string  Value: "NOTIP"   Type of order Flag values (pipe separated): 
  | 
| merch_status | string  Enum: "PENDING" "COMPLETE" "PREPARING" "BACKORDERED"   Merchant status of the order Values: 
  | 
| customer_id | string[0-9]+  Customer identifier, numeric only  | 
| ordernum | string  <= 128 characters   Order number An order number is required for all Card Not Present (e.g. Mail Order / Telephone Order and E-commerce) transactions, all transactions for the Restaurant industry, and all Level 2 cards such as Purchase or Corporate cards. Since it is not possible to know the card type prior to a request to TranSafe, an order number should be sent on all transactions. Normally, an order number is alphanumeric. However, for the restaurant industry, it should be numeric only. Processors are limited in the number of characters that can be sent as part of a transaction. Non restaurant industry will only have 25 characters sent and restaurant will only have 6.  | 
| ponumber | string  <= 32 characters   Unique identifier of the order Typically used with Invoices  | 
| allowed_cardtypes | string  Enum: "VISA" "MC" "AMEX" "DISC" "DINERS" "JCB" "CUP" "GIFT" "ACH"   Card types allowed to be used for payment Pipe-separated (|) list of cardtypes accepted for payment. Merchant must be configured to accept the provided cardtypes. Defaults to allow all if not provided. This is typically used in conjunction with accepting payment online using the TranSafe Invoice Payment Web Page for online order or invoice payment. Flag values (pipe separated): 
  | 
| invoice_date | string  Date the order was created Current date if not provided  | 
| invoice_due | string  Date the order is due Current date if not provided  | 
| notes | string  <= 1024 characters   General free-form information  | 
| total_tax_override | string0?\.\d{2}  Tax override amount, only used if all line items have no tax rates  | 
| ship_name | string  <= 32 characters   Shipping name of recipient "To" field on shipping label.  | 
| ship_address1 | string  <= 32 characters   Shipping street address of recipient Line 1  | 
| ship_address2 | string  <= 32 characters   Shipping street address of recipient Line 2  | 
| ship_city | string  <= 32 characters   Shipping city of recipient  | 
| ship_state | string  <= 32 characters   Shipping state / provence of recipient  | 
| ship_zip | string  <= 32 characters   Shipping zip / postal Code of recipient Used for tax zones  | 
| ship_country | string  <= 32 characters   Shipping country of recipient  | 
| ship_notes | string  <= 128 characters   Shipping delivery instructions  | 
| invoice_filename | string  <= 32 characters   Filename of externally attached invoice PDF Requires: 
  | 
| invoice_data | string[a-zA-Z0-9+/\n]+={0,2}[\n]*  PDF base64 encoded invoice PDF Used for externally generated invoice billing  | 
| timestamp_ms  required   | string\d+  Last updated Unix timestamp in milliseconds  | 
{- "type": "ORDER",
 - "status": "PENDING",
 - "flags": "NOTIP",
 - "merch_status": "PENDING",
 - "customer_id": "string",
 - "ordernum": "A13DDES345",
 - "ponumber": "string",
 - "allowed_cardtypes": "VISA",
 - "invoice_date": "string",
 - "invoice_due": "string",
 - "notes": "string",
 - "total_tax_override": "string",
 - "ship_name": "string",
 - "ship_address1": "string",
 - "ship_address2": "string",
 - "ship_city": "string",
 - "ship_state": "string",
 - "ship_zip": "string",
 - "ship_country": "string",
 - "ship_notes": "string",
 - "invoice_filename": "string",
 - "invoice_data": "string",
 - "timestamp_ms": "string"
 
}{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved",
 - "result": "NOTRUN",
 - "timestamp_ms": "string"
 
}Remove a discount form an order
libmonetra KVS equivalent for endpoint
action = adminadmin = ordermanageordermanage = item_del| id  required   | string  Order discount identifier  | 
| order_id  required   | string  Unique ID of an order  | 
| timestamp_ms  required   | string  Last updated Unix timestamp in milliseconds  | 
curl -X DELETE 'https://test.transafe.com/api/v1/order/20245528771333405/discount/5894387586' --basic -u 'test_retail|public:publ1ct3st'
{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved",
 - "result": "NOTRUN"
 
}Edit a discount for an order
libmonetra KVS equivalent for endpoint
action = adminadmin = ordermanageordermanage = item_edit| id  required   | string  Order discount identifier  | 
| order_id  required   | string  Unique ID of an order  | 
| timestamp_ms  required   | string\d+  Last updated Unix timestamp in milliseconds  | 
| ringorder | string  Order in which item needs to be displayed. Does not need to be sequential. But must be unique for the line item  | 
| qty | string  Quantity of the item being purchased This field allows up to 5 decimal places of precision. If the card brand does not allow that level of precision, the number will be rounded. Minimum quantity is 0.00005. Maximum quantity is 99999.00.  | 
| notes | string  <= 1024 characters   General free-form information  | 
| group_name | string  <= 32 characters    | 
{- "timestamp_ms": "string",
 - "ringorder": "string",
 - "qty": "string",
 - "notes": "string",
 - "group_name": "string"
 
}{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved",
 - "result": "NOTRUN"
 
}Remove a line item form an order
libmonetra KVS equivalent for endpoint
action = adminadmin = ordermanageordermanage = item_del| id  required   | string  Order item identifier  | 
| order_id  required   | string  Unique ID of an order  | 
| timestamp_ms  required   | string  Last updated Unix timestamp in milliseconds  | 
curl -X DELETE 'https://test.transafe.com/api/v1/order/item/675894315' --basic -u 'test_retail|public:publ1ct3st'
{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved",
 - "result": "NOTRUN"
 
}Gets details for the specified Item.
See List Items for report output
libmonetra KVS equivalent for endpoint
action = adminadmin = orderlistjson = noorderlist = items| id  required   | string  Order item identifier  | 
| order_id  required   | string  Unique ID of an order  | 
| customer_id | string  Comma separated list of customer identifiers  | 
| ordernum | string   Example:  ordernum=A13DDES345 Order number An order number is required for all Card Not Present (e.g. Mail Order / Telephone Order and E-commerce) transactions, all transactions for the Restaurant industry, and all Level 2 cards such as Purchase or Corporate cards. Since it is not possible to know the card type prior to a request to TranSafe, an order number should be sent on all transactions. Normally, an order number is alphanumeric. However, for the restaurant industry, it should be numeric only. Processors are limited in the number of characters that can be sent as part of a transaction. Non restaurant industry will only have 25 characters sent and restaurant will only have 6.  | 
| type | object  Enum: "ORDER" "QUICK" "INVOICE"    Example:  type=ORDER,QUICK Comma separated list of order types Flag values (comma separated): 
  | 
| status | object  Enum: "PENDING" "OPEN" "PARTIALPAID" "COMPLETE" "CANCEL" "FORCECLOSED"    Example:  status=OPEN,PARTIALPAID Comma separated list of order status Flag values (comma separated): 
  | 
| timestamp_create_bdate | string  Start of order created date range as a timestamp  | 
| timestamp_create_edate | string  End of order created date range as a timestamp  | 
| timestamp_close_bdate | string  Start of order closed date range as a timestamp  | 
| timestamp_close_edate | string  End of order closed date range as a timestamp  | 
| timestamp_ms | string  The maximum recorded timestamp_ms of the last fetch. Will only return records newer than this.  | 
curl -X GET 'https://test.transafe.com/api/v1/order/item/8594387568950432' --basic -u 'test_retail|public:publ1ct3st'
{- "code": "AUTH",
 - "report": {
- "property1": "string",
 - "property2": "string"
 
} 
}Edit a line item for an order
libmonetra KVS equivalent for endpoint
action = adminadmin = ordermanageordermanage = item_edit| id  required   | string  Order item identifier  | 
| order_id  required   | string  Unique ID of an order  | 
| timestamp_ms  required   | string\d+  Last updated Unix timestamp in milliseconds  | 
| ringorder | string  Order in which item needs to be displayed. Does not need to be sequential. But must be unique for the line item  | 
| qty | string  Quantity of the item being purchased This field allows up to 5 decimal places of precision. If the card brand does not allow that level of precision, the number will be rounded. Minimum quantity is 0.00005. Maximum quantity is 99999.00.  | 
| notes | string  <= 1024 characters   General free-form information  | 
| group_name | string  <= 32 characters    | 
{- "timestamp_ms": "string",
 - "ringorder": "string",
 - "qty": "string",
 - "notes": "string",
 - "group_name": "string"
 
}{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved",
 - "result": "NOTRUN"
 
}Remove a discount from a line item in the order
libmonetra KVS equivalent for endpoint
action = adminadmin = ordermanageordermanage = modifier_del| id  required   | string  Order item discount identifier  | 
| order_id  required   | string  Unique ID of an order  | 
| item_id  required   | string  Order item identifier  | 
| timestamp_ms  required   | string  Last updated Unix timestamp in milliseconds  | 
curl -X DELETE 'https://test.transafe.com/api/v1/order/item/discount/76789625' --basic -u 'test_retail|public:publ1ct3st'
{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved",
 - "result": "NOTRUN"
 
}Edit a line item discount
libmonetra KVS equivalent for endpoint
action = adminadmin = ordermanageordermanage = modifier_edit| id  required   | string  Order item discount identifier  | 
| order_id  required   | string  Unique ID of an order  | 
| item_id  required   | string  Order item identifier  | 
| timestamp_ms  required   | string\d+  Last updated Unix timestamp in milliseconds  | 
| ringorder | string  Order in which item needs to be displayed. Does not need to be sequential. But must be unique for the line item  | 
| qty | string  Quantity of the item being purchased This field allows up to 5 decimal places of precision. If the card brand does not allow that level of precision, the number will be rounded. Minimum quantity is 0.00005. Maximum quantity is 99999.00.  | 
{- "timestamp_ms": "string",
 - "ringorder": "string",
 - "qty": "string"
 
}{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved",
 - "result": "NOTRUN"
 
}Remove a modifier from a line item in the order
libmonetra KVS equivalent for endpoint
action = adminadmin = ordermanageordermanage = modifier_del| id  required   | string  Order item modifier identifier  | 
| order_id  required   | string  Unique ID of an order  | 
| item_id  required   | string  Order item identifier  | 
| timestamp_ms  required   | string  Last updated Unix timestamp in milliseconds  | 
curl -X DELETE 'https://test.transafe.com/api/v1/order/item/modifier/785903676' --basic -u 'test_retail|public:publ1ct3st'
{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved",
 - "result": "NOTRUN"
 
}Gets details for the specified modifier.
See List Modifiers for report output
libmonetra KVS equivalent for endpoint
action = adminadmin = orderlistjson = noorderlist = modifiers| id  required   | string  Order item modifier identifier  | 
| item_id  required   | string  Order item identifier  | 
| order_id  required   | string  Unique ID of an order  | 
| customer_id | string  Comma separated list of customer identifiers  | 
| ordernum | string   Example:  ordernum=A13DDES345 Order number An order number is required for all Card Not Present (e.g. Mail Order / Telephone Order and E-commerce) transactions, all transactions for the Restaurant industry, and all Level 2 cards such as Purchase or Corporate cards. Since it is not possible to know the card type prior to a request to TranSafe, an order number should be sent on all transactions. Normally, an order number is alphanumeric. However, for the restaurant industry, it should be numeric only. Processors are limited in the number of characters that can be sent as part of a transaction. Non restaurant industry will only have 25 characters sent and restaurant will only have 6.  | 
| type | object  Enum: "ORDER" "QUICK" "INVOICE"    Example:  type=ORDER,QUICK Comma separated list of order types Flag values (comma separated): 
  | 
| status | object  Enum: "PENDING" "OPEN" "PARTIALPAID" "COMPLETE" "CANCEL" "FORCECLOSED"    Example:  status=OPEN,PARTIALPAID Comma separated list of order status Flag values (comma separated): 
  | 
| timestamp_create_bdate | string  Start of order created date range as a timestamp  | 
| timestamp_create_edate | string  End of order created date range as a timestamp  | 
| timestamp_close_bdate | string  Start of order closed date range as a timestamp  | 
| timestamp_close_edate | string  End of order closed date range as a timestamp  | 
| timestamp_ms | string  The maximum recorded timestamp_ms of the last fetch. Will only return records newer than this.  | 
curl -X GET 'https://test.transafe.com/api/v1/order/modifier/75849356543' --basic -u 'test_retail|public:publ1ct3st'
{- "code": "AUTH",
 - "report": {
- "property1": "string",
 - "property2": "string"
 
} 
}Edit a line item modifier
libmonetra KVS equivalent for endpoint
action = adminadmin = ordermanageordermanage = modifier_edit| id  required   | string  Order item modifier identifier  | 
| order_id  required   | string  Unique ID of an order  | 
| item_id  required   | string  Order item identifier  | 
| timestamp_ms  required   | string\d+  Last updated Unix timestamp in milliseconds  | 
| ringorder | string  Order in which item needs to be displayed. Does not need to be sequential. But must be unique for the line item  | 
| qty | string  Quantity of the item being purchased This field allows up to 5 decimal places of precision. If the card brand does not allow that level of precision, the number will be rounded. Minimum quantity is 0.00005. Maximum quantity is 99999.00.  | 
{- "timestamp_ms": "string",
 - "ringorder": "string",
 - "qty": "string"
 
}{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved",
 - "result": "NOTRUN"
 
}Aging report for unpaid invoices grouped by customer
The resulting report will contain these headers:
customer_id, customer_display_name, current, 1-30, 31-60, 61-90,
91-120, 120+libmonetra KVS equivalent for endpoint
action = adminadmin = orderreportorderreport = aging| id | string  Customer identifier  | 
| type | object  Enum: "ORDER" "QUICK" "INVOICE"    Example:  type=ORDER,QUICK Comma separated list of order types Flag values (comma separated): 
  | 
curl -X GET 'https://test.transafe.com/api/v1/order/report/aging' --basic -u 'test_retail|public:publ1ct3st'
{- "code": "AUTH",
 - "report": {
- "property1": "string",
 - "property2": "string"
 
} 
}Customer summary
The resulting report will contain these headers:
customer_id, customer_display_name, count, total_amountlibmonetra KVS equivalent for endpoint
action = adminadmin = orderreportorderreport = customersummary| id | string  Customer identifier  | 
| order_id | string  Unique ID of an order  | 
| bdate | string  Start of date range  | 
| edate | string  End of date range  | 
| limit | string  Maximum number of rows to return  | 
| has_count | object  Enum: "yes" "no"    Example:  has_count=yes Whether or not the report should include items with or without orders If not present, show both with and without are included Values: 
  | 
curl -X GET 'https://test.transafe.com/api/v1/order/report/modifier?customer=-30%20days' --basic -u 'test_retail|public:publ1ct3st'
{- "code": "AUTH",
 - "report": {
- "property1": "string",
 - "property2": "string"
 
} 
}Item discount summary
The resulting report will contain these headers:
discount_id, discount_name, usecase, category_id, category_name, countlibmonetra KVS equivalent for endpoint
action = adminadmin = orderreportorderreport = itemdiscountsummary| id | string  Order discount identifier  | 
| order_id | string  Unique ID of an order  | 
| bdate | string  Start of date range  | 
| edate | string  End of date range  | 
| limit | string  Maximum number of rows to return  | 
| has_count | object  Enum: "yes" "no"    Example:  has_count=yes Whether or not the report should include items with or without orders If not present, show both with and without are included Values: 
  | 
curl -X GET 'https://test.transafe.com/api/v1/order/report/discount/item?bdate=-30%20days' --basic -u 'test_retail|public:publ1ct3st'
{- "code": "AUTH",
 - "report": {
- "property1": "string",
 - "property2": "string"
 
} 
}Item Modifier activity
The resulting report will contain these headers:
modifier_id, modifier_name, modifierset_id, modifierset_name,
countlibmonetra KVS equivalent for endpoint
action = adminadmin = orderreportorderreport = modifiersummary| id | string  Order item modifier identifier  | 
| order_id | string  Unique ID of an order  | 
| bdate | string  Start of date range  | 
| edate | string  End of date range  | 
| limit | string  Maximum number of rows to return  | 
| has_count | object  Enum: "yes" "no"    Example:  has_count=yes Whether or not the report should include items with or without orders If not present, show both with and without are included Values: 
  | 
curl -X GET 'https://test.transafe.com/api/v1/order/report/modifier?bdate=-30%20days' --basic -u 'test_retail|public:publ1ct3st'
{- "code": "AUTH",
 - "report": {
- "property1": "string",
 - "property2": "string"
 
} 
}Order discount summary
The resulting report will contain these headers:
discount_id, discount_name, usecase, category_id, category_name, countlibmonetra KVS equivalent for endpoint
action = adminadmin = orderreportorderreport = orderdiscountsummary| id | string  Order discount identifier  | 
| order_id | string  Unique ID of an order  | 
| bdate | string  Start of date range  | 
| edate | string  End of date range  | 
| limit | string  Maximum number of rows to return  | 
| has_count | object  Enum: "yes" "no"    Example:  has_count=yes Whether or not the report should include items with or without orders If not present, show both with and without are included Values: 
  | 
curl -X GET 'https://test.transafe.com/api/v1/order/report/discount/order?bdate=-30%20days' --basic -u 'test_retail|public:publ1ct3st'
{- "code": "AUTH",
 - "report": {
- "property1": "string",
 - "property2": "string"
 
} 
}Payment report grouped by user
The resulting report will contain these headers:
user, sale_amount, refund_amountlibmonetra KVS equivalent for endpoint
action = adminadmin = orderreportorderreport = payments| order_in | string   | 
| tendertype | object  Enum: "TXN" "CASH" "CHECK"    Example:  tendertype=TXN Type of payment tender Values: 
  | 
| bdate | string  Start of date range  | 
| edate | string  End of date range  | 
curl -X GET 'https://test.transafe.com/api/v1/order/report/payment?bdate=-30%20days' --basic -u 'test_retail|public:publ1ct3st'
{- "code": "AUTH",
 - "report": {
- "property1": "string",
 - "property2": "string"
 
} 
}Product activity
The resulting report will contain these headers:
product_id, product_name, category_id, category_name, countlibmonetra KVS equivalent for endpoint
action = adminadmin = orderreportorderreport = productsummary| id | string  Unique ID of the product  | 
| order_id | string  Unique ID of an order  | 
| bdate | string  Start of date range  | 
| edate | string  End of date range  | 
| limit | string  Maximum number of rows to return  | 
| has_count | object  Enum: "yes" "no"    Example:  has_count=yes Whether or not the report should include items with or without orders If not present, show both with and without are included Values: 
  | 
curl -X GET 'https://test.transafe.com/api/v1/order/report/product?bdate=-30%20days' --basic -u 'test_retail|public:publ1ct3st'
{- "code": "AUTH",
 - "report": {
- "property1": "string",
 - "property2": "string"
 
} 
}SKU activity
The resulting report will contain these headers:
sku_id, sku_name, product_id, product_name, category_id,
category_name, countlibmonetra KVS equivalent for endpoint
action = adminadmin = orderreportorderreport = skusummary| id | string  Unique ID of the SKU  | 
| order_id | string  Unique ID of an order  | 
| bdate | string  Start of date range  | 
| edate | string  End of date range  | 
| limit | string  Maximum number of rows to return  | 
| has_count | object  Enum: "yes" "no"    Example:  has_count=yes Whether or not the report should include items with or without orders If not present, show both with and without are included Values: 
  | 
curl -X GET 'https://test.transafe.com/api/v1/order/report/sku?bdate=-30%20days' --basic -u 'test_retail|public:publ1ct3st'
{- "code": "AUTH",
 - "report": {
- "property1": "string",
 - "property2": "string"
 
} 
}Tax summary report
The resulting report will contain these headers:
taxrate_id, taxrate_name, order_id, timestamp, amountlibmonetra KVS equivalent for endpoint
action = adminadmin = orderreportorderreport = taxhistory| id | string  Unique ID of the tax rate  | 
| order_id | string  Unique ID of an order  | 
| bdate | string  Start of date range  | 
| edate | string  End of date range  | 
curl -X GET 'https://test.transafe.com/api/v1/order/report/tax/history?bdate=-30%20days' --basic -u 'test_retail|public:publ1ct3st'
{- "code": "AUTH",
 - "report": {
- "property1": "string",
 - "property2": "string"
 
} 
}Tax summary report
The resulting report will contain these headers:
taxrate_id, taxrate_name, amountlibmonetra KVS equivalent for endpoint
action = adminadmin = orderreportorderreport = taxsummary| id | string  Unique ID of the tax rate  | 
| order_id | string  Unique ID of an order  | 
| bdate | string  Start of date range  | 
| edate | string  End of date range  | 
curl -X GET 'https://test.transafe.com/api/v1/order/report/tax?bdate=-30%20days' --basic -u 'test_retail|public:publ1ct3st'
{- "code": "AUTH",
 - "report": {
- "property1": "string",
 - "property2": "string"
 
} 
}Tip report grouped by user
The resulting report will contain these headers:
user, sale_tip, refund_tiplibmonetra KVS equivalent for endpoint
action = adminadmin = orderreportorderreport = tip| order_in | string   | 
| tendertype | object  Enum: "TXN" "CASH" "CHECK"    Example:  tendertype=TXN Type of payment tender Values: 
  | 
| bdate | string  Start of date range  | 
| edate | string  End of date range  | 
curl -X GET 'https://test.transafe.com/api/v1/order/report/tip?bdate=-30%20days' --basic -u 'test_retail|public:publ1ct3st'
{- "code": "AUTH",
 - "report": {
- "property1": "string",
 - "property2": "string"
 
} 
}Removes sensitive account data from the system
Only applies to transaction history contained in settled batches and will not
impact stored tokens. Transactions that have been secured are unable to be
referenced by ttid for creating a duplicate transaction. The sensitive data
(account) will have been cleared so the necessary information is not
available for duplicate transactions.
This operation can be scheduled to run automatically using the scheduler. Also, this can be scheduled at an administrative level.
libmonetra KVS equivalent for endpoint
action = adminadmin = securetrans| batch | string  The batch number associated with the transaction  | 
| bdate | string  Start of date range  | 
| edate | string  End of date range  | 
curl -X DELETE 'https://test.transafe.com/api/v1/maintenance/sensitive?bdate=-5%20years&edate=-3%20years' --basic -u 'test_retail|public:publ1ct3st'
{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved"
 
}Clears uncaptured transactions
This is intended to remove stale transactions that would not be funded if settled. To prevent accidental misuse, this request can only operate on transactions which are at least 30 days old. Typically, settlement of a transaction over 30 days old will result in a rejection of funding.
If an old transaction needs to be collected, a new charge should be issued.
Transactions that have not been captured include:
preauthssale transactions sent with capture=noThis operation can be scheduled to run automatically using the scheduler. Also, this can be scheduled at an administrative level.
libmonetra KVS equivalent for endpoint
action = adminadmin = cut| bdate | string  Start of date range  | 
| edate | string  End of date range  | 
curl -X DELETE 'https://test.transafe.com/api/v1/maintenance/uncaptured?bdate=-1%20year&edate=-6%20months' --basic -u 'test_retail|public:publ1ct3st'
{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved"
 
}Lists installment payment details
The resulting report will contain these headers:
token, type, create_ts, update_ts, flags, active, cardtype,
abaroute, account, expdate, cardholdername, street, zip, descr,
clientref, customer_id, customer_display_name, amount, frequency,
bdate, edate, installment_num, installment_total, last_run_id,
last_success_date, last_run_date, next_run_date, next_run_amount,
billing_merchantlibmonetra KVS equivalent for endpoint
action = adminadmin = recurringlisttype = installment| token | string  Referent to the account data that's been stored  | 
| active | object  Enum: "yes" "no"    Example:  active=yes Token active status Values: 
  | 
| clientref | string  Reference number associated with the customer  | 
| id | string  Customer identifier  | 
| expdate_end | string  Maximum expiration date a card can have. Limit all expiration dates to before this time.  | 
| cardholdername | string   Example:  cardholdername=John Doe Name of the cardholder. Will be read from account data (EMV, Track 1, etc.) but is not guaranteed to be present. Some presentation methods, such as keyed, do not have any way to capture the name as part of the account data. Further, Visa explicitly does not allow the cardholder name to be transmitted as part of a contactless read. Typically, a contactless read will result in a cardholder name of "/". If the name is known by another means, it can be entered in this parameter to override what was read (or not read) from the card.  | 
| cardtypes | object  Enum: "VISA" "MC" "AMEX" "DISC" "DINERS" "JCB" "BML" "GIFT" "VISADEBIT" "MCDEBIT" "OTHERDEBIT" "EBT" "CHECK" "INTERAC" "CUP" "PAYPALEC" "ACH"    Example:  cardtypes=VISA|MC Cardtypes Pipe (|) separated. Cardtype support is dependant on the processor. Not all processor support all cardtypes. Flag values (pipe separated): 
  | 
| account | string  Last 4 digits of account number  | 
curl -X GET 'https://test.transafe.com/api/v1/vault/payment/installment?active=yes' --basic -u 'test_retail|public:publ1ct3st'
{- "code": "AUTH",
 - "report": {
- "property1": "string",
 - "property2": "string"
 
} 
}Adds an installment payment
libmonetra KVS equivalent for endpoint
action = adminadmin = recurringaddtype = installmentobject  Account information parameters There are multiple ways to collect the customer's account information. These are the minimum fields required for each entry method. 
 Additional modifiers are also present which can provide information about how
the data was received. For example, Cards and phones can be tapped in which
case the  ENCRYPTION Many of these can be sent encrypted when using an encrypting reader with
a supported encryption method. The  Due to the difference in encrypted reader output and some formats being proprietary limited information about the encrypted account fields are provided. If it is necessary to directly send encrypted reader data to TranSafe please contact support who can work with you and the device manufacturer on how to format the data for the relevant fields to a given device.  | |
| carddenylist_id | string\d+  ID in the card deny list  | 
| street | string  Street address associated with the account  | 
| zip | string  <= 32 characters   Zip code associated with the account  | 
| clientref | string\d+  Reference number associated with the customer  | 
| matching_token | string  Enum: "yes" "no"   When enabled, the token vault will be searched for tokens matching this account. If found, the token will be updated instead of a new token being added. Values: 
  | 
| customer_id | string[0-9]+  Customer identifier, numeric only  | 
| cof_transid | string  Transaction ID from initial transaction  | 
| cof_authamount | string  Authorized amount from initial transaction  | 
| descr | string  <= 128 characters   Description of the payment  | 
| bdate | string  Start of date range  | 
| installment_total  required   | string\d+  Total number of installment payments to make  | 
| frequency  required   | string  Enum: "daily" "weekly" "biweekly" "monthly" "bimonthly" "quarterly" "semiannually" "annually"   Frequency of payment Values: 
  | 
| amount  required   | string\d*(\.\d{0,2})?  Amount of money, including decimal. E.g  This is the total amount and is an aggregate of all supplementary amounts.  | 
| property name* | string   | 
{- "account_data": {
- "account": "string",
 - "cardshieldticket": "string",
 - "cardholdername": "John Doe",
 - "cardpresent": "yes",
 - "countrycode": "840",
 - "e_account": "string",
 - "e_datafield": "string",
 - "e_datafieldfmt": "account",
 - "e_datafieldmasked": "string",
 - "e_trackdata": "string",
 - "e_id": "string",
 - "expdate": "0129",
 - "icc": "string",
 - "rfid": "yes",
 - "token": "string",
 - "trackdata": "string",
 - "abaroute": "stringstr",
 - "checknum": "string",
 - "accounttype": "BUSINESS"
 
}, - "carddenylist_id": "string",
 - "street": "1st St",
 - "zip": "32606",
 - "clientref": "string",
 - "matching_token": "yes",
 - "customer_id": "string",
 - "cof_transid": "string",
 - "cof_authamount": "string",
 - "descr": "string",
 - "bdate": "string",
 - "installment_total": "string",
 - "frequency": "daily",
 - "amount": "19.92",
 - "property1": "string",
 - "property2": "string"
 
}{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved",
 - "token": "string"
 
}Lists recurring payment details
The resulting report will contain these headers:
token, type, create_ts, update_ts, flags, active, cardtype,
abaroute, account, expdate, cardholdername, street, zip, descr,
clientref, customer_id, customer_display_name, amount, frequency,
bdate, last_run_id, last_success_date, last_run_date,
next_run_date, next_run_amount, billing_merchantlibmonetra KVS equivalent for endpoint
action = adminadmin = recurringlisttype = recurring| token | string  Referent to the account data that's been stored  | 
| active | object  Enum: "yes" "no"    Example:  active=yes Token active status Values: 
  | 
| clientref | string  Reference number associated with the customer  | 
| id | string  Customer identifier  | 
| expdate_end | string  Maximum expiration date a card can have. Limit all expiration dates to before this time.  | 
| cardholdername | string   Example:  cardholdername=John Doe Name of the cardholder. Will be read from account data (EMV, Track 1, etc.) but is not guaranteed to be present. Some presentation methods, such as keyed, do not have any way to capture the name as part of the account data. Further, Visa explicitly does not allow the cardholder name to be transmitted as part of a contactless read. Typically, a contactless read will result in a cardholder name of "/". If the name is known by another means, it can be entered in this parameter to override what was read (or not read) from the card.  | 
| cardtypes | object  Enum: "VISA" "MC" "AMEX" "DISC" "DINERS" "JCB" "BML" "GIFT" "VISADEBIT" "MCDEBIT" "OTHERDEBIT" "EBT" "CHECK" "INTERAC" "CUP" "PAYPALEC" "ACH"    Example:  cardtypes=VISA|MC Cardtypes Pipe (|) separated. Cardtype support is dependant on the processor. Not all processor support all cardtypes. Flag values (pipe separated): 
  | 
| account | string  Last 4 digits of account number  | 
curl -X GET 'https://test.transafe.com/api/v1/vault/payment/recurring?clientref=55' --basic -u 'test_retail|public:publ1ct3st'
{- "code": "AUTH",
 - "report": {
- "property1": "string",
 - "property2": "string"
 
} 
}Adds a recurring payment
libmonetra KVS equivalent for endpoint
action = adminadmin = recurringaddtype = recurringobject  Account information parameters There are multiple ways to collect the customer's account information. These are the minimum fields required for each entry method. 
 Additional modifiers are also present which can provide information about how
the data was received. For example, Cards and phones can be tapped in which
case the  ENCRYPTION Many of these can be sent encrypted when using an encrypting reader with
a supported encryption method. The  Due to the difference in encrypted reader output and some formats being proprietary limited information about the encrypted account fields are provided. If it is necessary to directly send encrypted reader data to TranSafe please contact support who can work with you and the device manufacturer on how to format the data for the relevant fields to a given device.  | |
| carddenylist_id | string\d+  ID in the card deny list  | 
| street | string  Street address associated with the account  | 
| zip | string  <= 32 characters   Zip code associated with the account  | 
| clientref | string\d+  Reference number associated with the customer  | 
| matching_token | string  Enum: "yes" "no"   When enabled, the token vault will be searched for tokens matching this account. If found, the token will be updated instead of a new token being added. Values: 
  | 
| customer_id | string[0-9]+  Customer identifier, numeric only  | 
| cof_transid | string  Transaction ID from initial transaction  | 
| cof_authamount | string  Authorized amount from initial transaction  | 
| descr | string  <= 128 characters   Description of of the payment  | 
| bdate | string  Start of date range  | 
| edate | string  End of date range  | 
| frequency  required   | string  Enum: "daily" "weekly" "biweekly" "monthly" "bimonthly" "quarterly" "semiannually" "annually"   Frequency of payment Values: 
  | 
| amount  required   | string\d*(\.\d{0,2})?  Amount of money, including decimal. E.g  This is the total amount and is an aggregate of all supplementary amounts.  | 
| property name* | string   | 
{- "account_data": {
- "account": "string",
 - "cardshieldticket": "string",
 - "cardholdername": "John Doe",
 - "cardpresent": "yes",
 - "countrycode": "840",
 - "e_account": "string",
 - "e_datafield": "string",
 - "e_datafieldfmt": "account",
 - "e_datafieldmasked": "string",
 - "e_trackdata": "string",
 - "e_id": "string",
 - "expdate": "0129",
 - "icc": "string",
 - "rfid": "yes",
 - "token": "string",
 - "trackdata": "string",
 - "abaroute": "stringstr",
 - "checknum": "string",
 - "accounttype": "BUSINESS"
 
}, - "carddenylist_id": "string",
 - "street": "1st St",
 - "zip": "32606",
 - "clientref": "string",
 - "matching_token": "yes",
 - "customer_id": "string",
 - "cof_transid": "string",
 - "cof_authamount": "string",
 - "descr": "string",
 - "bdate": "string",
 - "edate": "string",
 - "frequency": "daily",
 - "amount": "19.92",
 - "property1": "string",
 - "property2": "string"
 
}{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved",
 - "token": "string"
 
}Purges payment history
libmonetra KVS equivalent for endpoint
action = adminadmin = recurringpurgehist| bdate | string  Start of date range  | 
| edate | string  End of date range  | 
curl -X DELETE 'https://test.transafe.com/api/v1/vault/payment/history?bdate=-5%20years&edate=-1%20years' --basic -u 'test_retail|public:publ1ct3st'
{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved"
 
}Lists transactions that have been run by the recurring billing system
This includes both recurring and installment payments but does not include transactions run using stored accounts.
The resulting report will contain these headers:
id, token, timestamp, ttid, code, phard_code, msoft_code, verbiagelibmonetra KVS equivalent for endpoint
action = adminadmin = recurringhist| bdate | string  Start of date range  | 
| edate | string  End of date range  | 
| token | string  Referent to the account data that's been stored  | 
| hist_id | string  Transaction ID for recurring transaction  | 
curl -X GET 'https://test.transafe.com/api/v1/vault/payment/history?bdate=-1%20year&edate=now' --basic -u 'test_retail|public:publ1ct3st'
{- "code": "AUTH",
 - "report": {
- "property1": "string",
 - "property2": "string"
 
} 
}Gets details for the specified installment payment
See List Installment Payments for report output
libmonetra KVS equivalent for endpoint
action = adminadmin = recurringlisttype = installment| token  required   | string  Referent to the account data that's been stored  | 
| active | object  Enum: "yes" "no"    Example:  active=yes Token active status Values: 
  | 
| clientref | string  Reference number associated with the customer  | 
| id | string  Customer identifier  | 
| expdate_end | string  Maximum expiration date a card can have. Limit all expiration dates to before this time.  | 
| cardholdername | string   Example:  cardholdername=John Doe Name of the cardholder. Will be read from account data (EMV, Track 1, etc.) but is not guaranteed to be present. Some presentation methods, such as keyed, do not have any way to capture the name as part of the account data. Further, Visa explicitly does not allow the cardholder name to be transmitted as part of a contactless read. Typically, a contactless read will result in a cardholder name of "/". If the name is known by another means, it can be entered in this parameter to override what was read (or not read) from the card.  | 
| cardtypes | object  Enum: "VISA" "MC" "AMEX" "DISC" "DINERS" "JCB" "BML" "GIFT" "VISADEBIT" "MCDEBIT" "OTHERDEBIT" "EBT" "CHECK" "INTERAC" "CUP" "PAYPALEC" "ACH"    Example:  cardtypes=VISA|MC Cardtypes Pipe (|) separated. Cardtype support is dependant on the processor. Not all processor support all cardtypes. Flag values (pipe separated): 
  | 
| account | string  Last 4 digits of account number  | 
curl -X GET 'https://test.transafe.com/api/v1/vault/payment/installment/1719266657160421715' --basic -u 'test_retail|public:publ1ct3st'
{- "code": "AUTH",
 - "report": {
- "property1": "string",
 - "property2": "string"
 
} 
}Edits a stored installment payment
libmonetra KVS equivalent for endpoint
action = adminadmin = recurringedittype = installment| token  required   | string  Referent to the account data that's been stored  | 
| active | string  Enum: "yes" "no"   Token active status Values: 
  | 
object  Account information parameters There are multiple ways to collect the customer's account information. These are the minimum fields required for each entry method. 
 Additional modifiers are also present which can provide information about how
the data was received. For example, Cards and phones can be tapped in which
case the  ENCRYPTION Many of these can be sent encrypted when using an encrypting reader with
a supported encryption method. The  Due to the difference in encrypted reader output and some formats being proprietary limited information about the encrypted account fields are provided. If it is necessary to directly send encrypted reader data to TranSafe please contact support who can work with you and the device manufacturer on how to format the data for the relevant fields to a given device.  | |
| street | string  Street address associated with the account  | 
| zip | string  <= 32 characters   Zip code associated with the account  | 
| clientref | string\d+  Reference number associated with the customer  | 
| matching_token | string  Enum: "yes" "no"   When enabled, the token vault will be searched for tokens matching this account. If found, the token will be updated instead of a new token being added. Values: 
  | 
| customer_id | string[0-9]+  Customer identifier, numeric only  | 
| cof_transid | string  Transaction ID from initial transaction  | 
| cof_authamount | string  Authorized amount from initial transaction  | 
| descr | string  <= 128 characters   Description of the payment  | 
| bdate | string  Start of date range  | 
| installment_total | string\d+  Total number of installment payments to make  | 
| frequency | string  Enum: "daily" "weekly" "biweekly" "monthly" "bimonthly" "quarterly" "semiannually" "annually"   Frequency of payment Values: 
  | 
| amount | string\d*(\.\d{0,2})?  Amount of money, including decimal. E.g  This is the total amount and is an aggregate of all supplementary amounts.  | 
| property name* | string   | 
{- "active": "yes",
 - "account_data": {
- "account": "string",
 - "cardshieldticket": "string",
 - "cardholdername": "John Doe",
 - "cardpresent": "yes",
 - "countrycode": "840",
 - "e_account": "string",
 - "e_datafield": "string",
 - "e_datafieldfmt": "account",
 - "e_datafieldmasked": "string",
 - "e_trackdata": "string",
 - "e_id": "string",
 - "expdate": "0129",
 - "icc": "string",
 - "rfid": "yes",
 - "trackdata": "string",
 - "abaroute": "stringstr",
 - "checknum": "string",
 - "accounttype": "BUSINESS"
 
}, - "street": "1st St",
 - "zip": "32606",
 - "clientref": "string",
 - "matching_token": "yes",
 - "customer_id": "string",
 - "cof_transid": "string",
 - "cof_authamount": "string",
 - "descr": "string",
 - "bdate": "string",
 - "installment_total": "string",
 - "frequency": "daily",
 - "amount": "19.92",
 - "property1": "string",
 - "property2": "string"
 
}{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved"
 
}Gets details for the specified recurring payment
See List Recurring Payments for report output
libmonetra KVS equivalent for endpoint
action = adminadmin = recurringlisttype = recurring| token  required   | string  Referent to the account data that's been stored  | 
| active | object  Enum: "yes" "no"    Example:  active=yes Token active status Values: 
  | 
| clientref | string  Reference number associated with the customer  | 
| id | string  Customer identifier  | 
| expdate_end | string  Maximum expiration date a card can have. Limit all expiration dates to before this time.  | 
| cardholdername | string   Example:  cardholdername=John Doe Name of the cardholder. Will be read from account data (EMV, Track 1, etc.) but is not guaranteed to be present. Some presentation methods, such as keyed, do not have any way to capture the name as part of the account data. Further, Visa explicitly does not allow the cardholder name to be transmitted as part of a contactless read. Typically, a contactless read will result in a cardholder name of "/". If the name is known by another means, it can be entered in this parameter to override what was read (or not read) from the card.  | 
| cardtypes | object  Enum: "VISA" "MC" "AMEX" "DISC" "DINERS" "JCB" "BML" "GIFT" "VISADEBIT" "MCDEBIT" "OTHERDEBIT" "EBT" "CHECK" "INTERAC" "CUP" "PAYPALEC" "ACH"    Example:  cardtypes=VISA|MC Cardtypes Pipe (|) separated. Cardtype support is dependant on the processor. Not all processor support all cardtypes. Flag values (pipe separated): 
  | 
| account | string  Last 4 digits of account number  | 
curl -X GET 'https://test.transafe.com/api/v1/vault/payment/recurring/' --basic -u 'test_retail|public:publ1ct3st'
{- "code": "AUTH",
 - "report": {
- "property1": "string",
 - "property2": "string"
 
} 
}Edits a stored recurring payment
libmonetra KVS equivalent for endpoint
action = adminadmin = recurringedittype = recurring| token  required   | string  Referent to the account data that's been stored  | 
| active | string  Enum: "yes" "no"   Token active status Values: 
  | 
object  Account information parameters There are multiple ways to collect the customer's account information. These are the minimum fields required for each entry method. 
 Additional modifiers are also present which can provide information about how
the data was received. For example, Cards and phones can be tapped in which
case the  ENCRYPTION Many of these can be sent encrypted when using an encrypting reader with
a supported encryption method. The  Due to the difference in encrypted reader output and some formats being proprietary limited information about the encrypted account fields are provided. If it is necessary to directly send encrypted reader data to TranSafe please contact support who can work with you and the device manufacturer on how to format the data for the relevant fields to a given device.  | |
| street | string  Street address associated with the account  | 
| zip | string  <= 32 characters   Zip code associated with the account  | 
| clientref | string\d+  Reference number associated with the customer  | 
| matching_token | string  Enum: "yes" "no"   When enabled, the token vault will be searched for tokens matching this account. If found, the token will be updated instead of a new token being added. Values: 
  | 
| customer_id | string[0-9]+  Customer identifier, numeric only  | 
| cof_transid | string  Transaction ID from initial transaction  | 
| cof_authamount | string  Authorized amount from initial transaction  | 
| descr | string  <= 128 characters   Description of of the payment  | 
| bdate | string  Start of date range  | 
| edate | string  End of date range  | 
| frequency | string  Enum: "daily" "weekly" "biweekly" "monthly" "bimonthly" "quarterly" "semiannually" "annually"   Frequency of payment Values: 
  | 
| amount | string\d*(\.\d{0,2})?  Amount of money, including decimal. E.g  This is the total amount and is an aggregate of all supplementary amounts.  | 
| property name* | string   | 
{- "active": "yes",
 - "account_data": {
- "account": "string",
 - "cardshieldticket": "string",
 - "cardholdername": "John Doe",
 - "cardpresent": "yes",
 - "countrycode": "840",
 - "e_account": "string",
 - "e_datafield": "string",
 - "e_datafieldfmt": "account",
 - "e_datafieldmasked": "string",
 - "e_trackdata": "string",
 - "e_id": "string",
 - "expdate": "0129",
 - "icc": "string",
 - "rfid": "yes",
 - "trackdata": "string",
 - "abaroute": "stringstr",
 - "checknum": "string",
 - "accounttype": "BUSINESS"
 
}, - "street": "1st St",
 - "zip": "32606",
 - "clientref": "string",
 - "matching_token": "yes",
 - "customer_id": "string",
 - "cof_transid": "string",
 - "cof_authamount": "string",
 - "descr": "string",
 - "bdate": "string",
 - "edate": "string",
 - "frequency": "daily",
 - "amount": "19.92",
 - "property1": "string",
 - "property2": "string"
 
}{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved"
 
}Permanently removes a stored payment from the vault
libmonetra KVS equivalent for endpoint
action = adminadmin = recurringdel| token  required   | string  Referent to the account data that's been stored  | 
curl -X DELETE 'https://test.transafe.com/api/v1/vault/payment/1719266657160421715' --basic -u 'test_retail|public:publ1ct3st'
{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved"
 
}Permanently removes a stored account from the vault
libmonetra KVS equivalent for endpoint
action = adminadmin = recurringdel| token  required   | string  Referent to the account data that's been stored  | 
curl -X DELETE 'https://test.transafe.com/api/v1/vault/account/1719266678671633432' --basic -u 'test_retail|public:publ1ct3st'
{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved"
 
}Gets details for the specified stored account
See List Stored Accounts for report output
libmonetra KVS equivalent for endpoint
action = adminadmin = recurringlisttype = store| token  required   | string  Referent to the account data that's been stored  | 
| active | object  Enum: "yes" "no"    Example:  active=yes Token active status Values: 
  | 
| clientref | string  Reference number associated with the customer  | 
| id | string  Customer identifier  | 
| expdate_end | string  Maximum expiration date a card can have. Limit all expiration dates to before this time.  | 
| cardholdername | string   Example:  cardholdername=John Doe Name of the cardholder. Will be read from account data (EMV, Track 1, etc.) but is not guaranteed to be present. Some presentation methods, such as keyed, do not have any way to capture the name as part of the account data. Further, Visa explicitly does not allow the cardholder name to be transmitted as part of a contactless read. Typically, a contactless read will result in a cardholder name of "/". If the name is known by another means, it can be entered in this parameter to override what was read (or not read) from the card.  | 
| cardtypes | object  Enum: "VISA" "MC" "AMEX" "DISC" "DINERS" "JCB" "BML" "GIFT" "VISADEBIT" "MCDEBIT" "OTHERDEBIT" "EBT" "CHECK" "INTERAC" "CUP" "PAYPALEC" "ACH"    Example:  cardtypes=VISA|MC Cardtypes Pipe (|) separated. Cardtype support is dependant on the processor. Not all processor support all cardtypes. Flag values (pipe separated): 
  | 
| account | string  Last 4 digits of account number  | 
curl -X GET 'https://test.transafe.com/api/v1/vault/account/1001709895560774683' --basic -u 'test_retail|public:publ1ct3st'
{- "code": "AUTH",
 - "report": {
- "property1": "string",
 - "property2": "string"
 
} 
}Edits a stored account
libmonetra KVS equivalent for endpoint
action = adminadmin = recurringedittype = store| token  required   | string  Referent to the account data that's been stored  | 
| active | string  Enum: "yes" "no"   Token active status Values: 
  | 
object  Account information parameters There are multiple ways to collect the customer's account information. These are the minimum fields required for each entry method. 
 Additional modifiers are also present which can provide information about how
the data was received. For example, Cards and phones can be tapped in which
case the  ENCRYPTION Many of these can be sent encrypted when using an encrypting reader with
a supported encryption method. The  Due to the difference in encrypted reader output and some formats being proprietary limited information about the encrypted account fields are provided. If it is necessary to directly send encrypted reader data to TranSafe please contact support who can work with you and the device manufacturer on how to format the data for the relevant fields to a given device.  | |
| street | string  Street address for AVS. Typically, only numbers need to be passed in this field, as letters and other characters are ignored by the processor  | 
| zip | string  <= 32 characters   Zip code for AVS verification. All Card Not Present transactions require this to avoid being 'downgraded'  | 
| clientref | string\d+  Reference number associated with the customer  | 
| matching_token | string  Enum: "yes" "no"   When enabled, the token vault will be searched for tokens matching this account. If found, the token will be updated instead of a new token being added. Values: 
  | 
| customer_id | string[0-9]+  Customer identifier, numeric only  | 
| cof_transid | string  Transaction ID from initial transaction  | 
| cof_authamount | string  Authorized amount from initial transaction  | 
| descr | string  <= 128 characters   Description of the account  | 
| property name* | string   | 
{- "active": "yes",
 - "account_data": {
- "account": "string",
 - "cardshieldticket": "string",
 - "cardholdername": "John Doe",
 - "cardpresent": "yes",
 - "countrycode": "840",
 - "e_account": "string",
 - "e_datafield": "string",
 - "e_datafieldfmt": "account",
 - "e_datafieldmasked": "string",
 - "e_trackdata": "string",
 - "e_id": "string",
 - "expdate": "0129",
 - "icc": "string",
 - "rfid": "yes",
 - "trackdata": "string",
 - "abaroute": "stringstr",
 - "checknum": "string",
 - "accounttype": "BUSINESS"
 
}, - "street": "1st St",
 - "zip": "32606",
 - "clientref": "string",
 - "matching_token": "yes",
 - "customer_id": "string",
 - "cof_transid": "string",
 - "cof_authamount": "string",
 - "descr": "string",
 - "property1": "string",
 - "property2": "string"
 
}{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved"
 
}Lists stored account details
The resulting report will contain these headers:
token, type, create_ts, update_ts, flags, active, cardtype,
abaroute, account, expdate, cardholdername, street, zip, descr,
clientref, customer_id, customer_display_namelibmonetra KVS equivalent for endpoint
action = adminadmin = recurringlisttype = store| token | string  Referent to the account data that's been stored  | 
| active | object  Enum: "yes" "no"    Example:  active=yes Token active status Values: 
  | 
| clientref | string  Reference number associated with the customer  | 
| id | string  Customer identifier  | 
| expdate_end | string  Maximum expiration date a card can have. Limit all expiration dates to before this time.  | 
| cardholdername | string   Example:  cardholdername=John Doe Name of the cardholder. Will be read from account data (EMV, Track 1, etc.) but is not guaranteed to be present. Some presentation methods, such as keyed, do not have any way to capture the name as part of the account data. Further, Visa explicitly does not allow the cardholder name to be transmitted as part of a contactless read. Typically, a contactless read will result in a cardholder name of "/". If the name is known by another means, it can be entered in this parameter to override what was read (or not read) from the card.  | 
| cardtypes | object  Enum: "VISA" "MC" "AMEX" "DISC" "DINERS" "JCB" "BML" "GIFT" "VISADEBIT" "MCDEBIT" "OTHERDEBIT" "EBT" "CHECK" "INTERAC" "CUP" "PAYPALEC" "ACH"    Example:  cardtypes=VISA|MC Cardtypes Pipe (|) separated. Cardtype support is dependant on the processor. Not all processor support all cardtypes. Flag values (pipe separated): 
  | 
| account | string  Last 4 digits of account number  | 
curl -X GET 'https://test.transafe.com/api/v1/vault/account?active=no&cardtypes=VISA%7CMC' --basic -u 'test_retail|public:publ1ct3st'
{- "code": "AUTH",
 - "report": {
- "property1": "string",
 - "property2": "string"
 
} 
}Stores an account
Allows for manually tokenizing a payment method and
storing it in the token vault. The token can be used
for later transaction processing.
Note: Tokenization can happen at time of authorization
or verification by using the tokenize=yes parameter as
part of the transaction.
libmonetra KVS equivalent for endpoint
action = adminadmin = recurringaddtype = storeobject  Account information parameters There are multiple ways to collect the customer's account information. These are the minimum fields required for each entry method. 
 Additional modifiers are also present which can provide information about how
the data was received. For example, Cards and phones can be tapped in which
case the  ENCRYPTION Many of these can be sent encrypted when using an encrypting reader with
a supported encryption method. The  Due to the difference in encrypted reader output and some formats being proprietary limited information about the encrypted account fields are provided. If it is necessary to directly send encrypted reader data to TranSafe please contact support who can work with you and the device manufacturer on how to format the data for the relevant fields to a given device.  | |
| carddenylist_id | string\d+  ID in the card deny list  | 
| street | string  Street address for AVS. Typically, only numbers need to be passed in this field, as letters and other characters are ignored by the processor  | 
| zip | string  <= 32 characters   Zip code for AVS verification. All Card Not Present transactions require this to avoid being 'downgraded'  | 
| clientref | string\d+  Reference number associated with the customer  | 
| matching_token | string  Enum: "yes" "no"   When enabled, the token vault will be searched for tokens matching this account. If found, the token will be updated instead of a new token being added. Values: 
  | 
| customer_id | string[0-9]+  Customer identifier, numeric only  | 
| cof_transid | string  Transaction ID from initial transaction  | 
| cof_authamount | string  Authorized amount from initial transaction  | 
| descr | string  <= 128 characters   Description of the account  | 
| property name* | string   | 
{- "account_data": {
- "account": "string",
 - "cardshieldticket": "string",
 - "cardholdername": "John Doe",
 - "cardpresent": "yes",
 - "countrycode": "840",
 - "e_account": "string",
 - "e_datafield": "string",
 - "e_datafieldfmt": "account",
 - "e_datafieldmasked": "string",
 - "e_trackdata": "string",
 - "e_id": "string",
 - "expdate": "0129",
 - "icc": "string",
 - "rfid": "yes",
 - "token": "string",
 - "trackdata": "string",
 - "abaroute": "stringstr",
 - "checknum": "string",
 - "accounttype": "BUSINESS"
 
}, - "carddenylist_id": "string",
 - "street": "1st St",
 - "zip": "32606",
 - "clientref": "string",
 - "matching_token": "yes",
 - "customer_id": "string",
 - "cof_transid": "string",
 - "cof_authamount": "string",
 - "descr": "string",
 - "property1": "string",
 - "property2": "string"
 
}{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved",
 - "token": "string"
 
}Permanently removes accounts that have expired from the vault
libmonetra KVS equivalent for endpoint
action = adminadmin = recurringpurgeexpired| keep_months | string  Represents the number of months after a card has expired that it should be kept on file  | 
curl -X DELETE 'https://test.transafe.com/api/v1/vault/account/expired?keep_months=24' --basic -u 'test_retail|public:publ1ct3st'
{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved"
 
}Lists accounts on the card deny list
The resulting report will contain these headers:
id, last4, expdate, cardtype, added, last_seen,
expire, cardholdername, reason_codelibmonetra KVS equivalent for endpoint
action = adminadmin = carddenylistcarddenylist = list| carddenylist_id | string  ID in the card deny list  | 
| expdate_bdate | string  Used to filter report by card expiration date range. Expiration is when the card expires, the   | 
| expdate_edate | string  Used to filter report by card expiration date range. Expiration is when the card expires, the   | 
| added_bdate | string  Used to filter report by added date range. This is the beginning date of the added date rate to match.  | 
| added_edate | string  Used to filter report by added date range. This is the ending date of the added date range to match.  | 
| last_seen_bdate | string  Used to filter report by last seen date range. This is the beginning date of the last seen date range to match.  | 
| last_seen_edate | string  Used to filter report by last seen date range. This is the ending date of the last seen date range to match.  | 
| expire_bdate | string  Used to filter report by expire date range Expiration is when the entry in the list will be removed. Coresponds   | 
| expire_edate | string  Used to filter report by expire date range Expiration is when the entry in the list should be removed. Coresponds   | 
curl -X GET 'https://test.transafe.com/api/v1/cardlist/deny' --basic -u 'test_retail|public:publ1ct3st'
{- "code": "AUTH",
 - "report": {
- "property1": "string",
 - "property2": "string"
 
} 
}object (_cardlist_deny_account_data)   Account information parameters There are multiple ways to collect the customer's account information. These are the minimum fields required for each entry method. 
 Additional modifiers are also present which can provide information about how
the data was received. For example, Cards and phones can be tapped in which
case the  ENCRYPTION Many of these can be sent encrypted when using an encrypting reader with
a supported encryption method. The  Due to the difference in encrypted reader output and some formats being proprietary limited information about the encrypted account fields are provided. If it is necessary to directly send encrypted reader data to TranSafe please contact support who can work with you and the device manufacturer on how to format the data for the relevant fields to a given device.  | |
| expire | string  How long to keep a card on file before being automatically removed Standard date format accepted by the payment server. Can be a specific date to expire on or a relative data (E.g "+10 days"). Default is 180 days if not specified. Smallest amount of time allowed is 1 day. Anything shorter will be rounded up to 1 day. The deny list is automatically cleaned up on a regular basis. Anything added to the list will have an expiration associated with it for how long it should be on the list. This expiration is different than the card's expiration date associated with the account number. This is how long the entry will remain in the list. It can be set to a very long time such as 50+ years. Card expiration date is not used for removal for several reasons. 
  | 
{- "account_data": {
- "account": "string",
 - "cardshieldticket": "string",
 - "cardholdername": "John Doe",
 - "cardpresent": "yes",
 - "countrycode": "840",
 - "e_account": "string",
 - "e_datafield": "string",
 - "e_datafieldfmt": "account",
 - "e_datafieldmasked": "string",
 - "e_trackdata": "string",
 - "e_id": "string",
 - "expdate": "0129",
 - "icc": "string",
 - "rfid": "yes",
 - "token": "string",
 - "trackdata": "string",
 - "abaroute": "stringstr",
 - "checknum": "string",
 - "accounttype": "BUSINESS"
 
}, - "expire": "string"
 
}{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved",
 - "carddenylist_id": "string"
 
}Check if account is on the card deny list
If the card is on the deny list the report will contain a single row with information about the card. No rows indicates the card is not on the list.
The resulting report will contain these headers:
id, last4, expdate, cardtype, added, last_seen,
expire, cardholdername, reason_codelibmonetra KVS equivalent for endpoint
action = adminadmin = carddenylistcarddenylist = list| account | string  <= 2048 characters \d+  Account number  | 
| cardshieldticket | string\d+  Temporary token used to capture account data with the purpose of using it later in a transaction request The ticket only lasts for five minutes, after which it is expired and cannot be used. If the ticket needs to be user for a longer duration it should be converted to a stored account. The ticket will have been generated and returned to the merchant by TranSafe from a ticket request of some kind. The PaymentFrame is the most common method. Typically used for e-commerce where payment data is collected before final order submission. Or when the account information is collected from secure account entry method. For example, it is a response parameter from the e-commerce PaymentFrame which allows the customer to enter their card details without sending the information to the merchant's web server.  | 
| cardholdername | string  <= 128 characters   Name of the cardholder. Will be read from account data (EMV, Track 1, etc.) but is not guaranteed to be present. Some presentation methods, such as keyed, do not have any way to capture the name as part of the account data. Further, Visa explicitly does not allow the cardholder name to be transmitted as part of a contactless read. Typically, a contactless read will result in a cardholder name of "/". If the name is known by another means, it can be entered in this parameter to override what was read (or not read) from the card.  | 
| cardpresent | string  Default:  "yes"  Enum: "yes" "no" "ecomm" "mobileinapp"   Used for Retail/Restaurant accounts where the card is not present at the time of the transaction Ignored for anything besides Retail or Restaurant accounts Values: 
  | 
| countrycode | string\d{3}  Default:  "840"  ISO 3166-1 numeric country code where the account was issued Primarily used for zip / postal code verification. Due to countries have different zip / postal codes the country code for the account can be sent and will verify the zip / postal code based on the country of issuance. Typically, the country code does not need to be specified with a transaciton. TranSafe will determine the county code by the following. 
  | 
| e_account | string[[:xdigit:]]+  Encrypted account number Requires: 
  | 
| e_datafield | string[[:xdigit:]]+  Encrypted keyed data block. Can contain multiple account data parameters Requires: 
  | 
| e_datafieldfmt | string  Enum: "account" "expdate" "cv"   Format of encrypted keyed data block. The order of elements defines the data and order of data within the  Requires: 
 Flag values (pipe separated): 
  | 
| e_datafieldmasked | string  Masked version of the account data contained in  Requires: 
  | 
| e_trackdata | string  Encrypted trackdata. Supports both track 1 and track 2. Can also contain masked version of trackdata. When using an encrypting reader with EMV, this may be present with  Format: 
 Requires: 
  | 
| e_id | string[[:xdigit:]]+  Encryption identifier Identifies the encryption type and Key Serial Number (KSN) used for the encryption. Encryption types: 
 Format: 
  | 
| expdate | string  4 characters (0[1-9]|1[1-2])\d{2}  Expiration date of the card (MMYY format)  | 
| icc | string  Integrated Chip Card TLV data as read via EMV insert or tap  | 
| rfid | string  Default:  "no"  Enum: "yes" "no" "capable"   Whether or not transaction was accepted via RFID (proximity) Values: 
  | 
| token | string\d+  Referent to the account data that's been stored  | 
| trackdata | string[[:print:]]+  Magnetic stripe data as read from a card via swipe  | 
| abaroute | string  9 characters \d{9}  ABA routing number Requires: 
  | 
| checknum | string\d+  Check number Requires: 
  | 
| accounttype | string  Enum: "BUSINESS" "PERSONAL" "CHECKING" "SAVINGS"   Type of account Pipe (|) delimited list. Default is PERSONAL|CHECKING 
 Example: 
 Requires: 
 Flag values (pipe separated): 
  | 
{- "account": "string",
 - "cardshieldticket": "string",
 - "cardholdername": "John Doe",
 - "cardpresent": "yes",
 - "countrycode": "840",
 - "e_account": "string",
 - "e_datafield": "string",
 - "e_datafieldfmt": "account",
 - "e_datafieldmasked": "string",
 - "e_trackdata": "string",
 - "e_id": "string",
 - "expdate": "0129",
 - "icc": "string",
 - "rfid": "yes",
 - "token": "string",
 - "trackdata": "string",
 - "abaroute": "stringstr",
 - "checknum": "string",
 - "accounttype": "BUSINESS"
 
}{- "code": "AUTH",
 - "report": {
- "property1": "string",
 - "property2": "string"
 
} 
}| carddenylist_id  required   | string  ID in the card deny list  | 
curl -X DELETE 'https://test.transafe.com/api/v1/cardlist/deny/134543245543' --basic -u 'test_retail|public:publ1ct3st'
{- "code": "AUTH",
 - "msoft_code": "INT_SUCCESS",
 - "verbiage": "Transaction approved"
 
}