| Required role: | Merchant |
| POST | /v2/transactions/ecp | Run a check transaction |
|---|
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| TransactionType | model | TransactionType? | Yes | Identifies the type of transaction to process.Allowable Values
|
| Token | model | string | No | A value generated by the gateway for payment data which has been previously stored. The format of the value depends on the format selected when the payment method was originally stored. |
| CheckData | model | ElectronicCheckData | No | Properties of the check/checking account used as payment for this transaction, if the payment type is check. |
| SECCode | model | SECCode? | No | ...Allowable Values
|
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| ForceDuplicate | model | boolean | No | This is an indicator that specifies - if this transaction is flagged as a duplicate of a previous transaction - whether or not this transaction will be processed. |
| Register | model | string | No | Identifies the physical or virtual register where the transaction is run, for reporting. |
| InvoiceData | model | InvoiceData | Yes | Tracking/reporting fields used for identifying the transaction and associating it with a customer invoice. |
| DeviceData | model | DeviceData | No | Properties of the terminal/reader used in the transaction. |
| OriginalTransaction | model | AssociatedTransaction | No | Properties of the original transaction, when necessary for processing the current transaction (such as refunds, voids, reversals). |
| CustomFields | model | List<CustomField> | No | Merchant-configured fields used to store data per transaction outside the system fields. |
| CustomerID | model | string | No | Identifies the customer that is associated with this transaction. |
| CustomerKey | model | int | No | Identifies the customer key that is associated with this transaction. Customer Key takes priority over Customer ID |
| Tags | model | List<string> | No | A collection of tag data that will be associated with this transaction. Each tag is limited to 20 characters, character length greater than 20 will be truncated. |
| MerchantOptions | model | MerchantOptions | No | Merchant specific transaction parameters. |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| InvoiceNumber | model | string | No | Unique identifier for the customer/cardholder |
| OrderNumber | model | string | No | ... |
| TotalAmount | model | number | Yes | Total amount of the transaction |
| TipAmount | model | number | No | Amount charged at the card holder's discretion for tip/gratuity |
| ShippingAmount | model | number | No | ... |
| SalesTaxAmount | model | number | No | Amount charged by a merchant for state/local sales tax |
| DutyAmount | model | number | No | ... |
| DiscountAmount | model | number | No | Amount of discount that was applied. |
| ConvenienceAmount | model | number | No | Allows the merchant to add a flat fee to the total transaction. This function may be used by utility companies, government agencies, and schools. |
| ConvenienceAmountPercentage | model | decimal? | No | Allows the merchant to add a percentage of the total amount as a fee to the total transaction (ex 10.5 would add a 10.5% fee). This function may be used by utility companies, government agencies, and schools. |
| SurchargeAmount | model | number | No | Amount charged by a merchant in exchange for processing a specific transaction |
| CashBackAmount | model | number | No | Amount requested by the card holder in cash back for an eligible transaction |
| FSA | model | FSA | No | Includes medical specific payment amounts. |
| IsEstimatedAmount | model | bool | No | Set this to True when the amount sent in the initial transaction is an estimate. Visa transactions only. |
| IsTaxExempt | model | bool | No | Set this to True if this purchase is exempt from sales tax. |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| ClinicalAmount | form | decimal? | No | |
| CopayAmount | form | decimal? | No | |
| HealthcareAmount | form | decimal? | No | |
| DentalAmount | form | decimal? | No | |
| RXAmount | form | decimal? | No | |
| TransitAmount | form | decimal? | No | |
| VisionAmount | form | decimal? | No | |
| IIASVerified | form | IIASVerified? | No | |
| CumulativeAmount | form | decimal? | No |
| False | |
| True | |
| Exempt |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| SdkVersion | form | string | No | The SDK version of the device |
| SerialNumber | form | string | No | The serial number of the device |
| BatteryLevel | form | int? | No | The current battery level of the device |
| IsEncrypted | form | bool | No | Indicates whether or not transaction data sent from the device is encrypted |
| EncryptionType | form | string | No | Type of encryption used when transaction data is encrypted |
| ReaderEncryptionType | form | string | No | Type of encryption used by the card reader during card swipe. "data" and "pin" are the only valid values. Data is the default value. |
| MagnePrint | form | string | No | Encrypted MagnePrint data for use with Magtek devices |
| MagnePrintStatus | form | string | No | MagnePrint status for use with Magtek devices |
| CVMResults | form | string | No | Returned from Discover transactions initated on an Igenico terminal to supplement the missing 9F34 tag for CVM. Valid values are "1: Offline PIN", "2: Online PIN", "E: Signature" |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| TransactionId | model | int | No | Unique payment reference number used to identify a single transaction within the system. The payment reference number (PNRef) is assigned by the payment server at the time the transaction is created. |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| Key | model | int? | No | Gateway key for the custom field |
| Name | model | string | No | Name of the custom field as set by the merchant |
| Value | model | string | No | Value (if applicable) to store in the custom field |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| MerchantCategoryCode | model | string | No | Identifies the category of a transaction (e.g. gas, grocery, travel). |
| Void | |
| Settle | |
| SettleAll | |
| Reversal | |
| Refund | |
| Sale | |
| AuthOnly | |
| OfflineAuth | |
| CardVerify | |
| AuthCapture | |
| Adjustment | |
| RepeatSale | |
| BalanceInquire |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| NameOnCheck | model | string | Yes | Name of the check owner |
| RoutingNumber | model | string | Yes | Uniquely identifies the bank holding funds. |
| AccountNumber | model | string | Yes | Uniquely identifies the check owner’s bank account. |
| CheckNumber | model | string | No | Uniquely identifies an individual’s check. |
| AccountType | model | AccountType | No | Identifies the type of account used as a source of funds; e.g.checking, savings.Allowable Values
|
| AccountEntity | model | AccountEntity | No | Identifies the entity associated with the account used in the transaction; e.g. business, personal.Allowable Values
|
| MICR | model | string | No | Magnetic Ink Character Recognition. Used for processing check-present and consumer-present transactions. |
| RawMICR | model | string | No | Raw Magnetic Ink Check Reader data line from the check reader. |
| PresenterData | model | PresenterData | No | ... |
| AddressOnCheck | model | AddressOnCheck | No | ... |
| Checking | |
| Savings |
| Personal | |
| Business |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| DriversLicenseNumber | model | string | No | ... |
| DriversLicenseState | model | string | No | ... |
| SSN | model | string | No | ... |
| DateOfBirth | model | string | No | ... |
| EmailAddress | model | string | No | ... |
| TelephoneNumber | model | string | No | ... |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| StreetAddress | model | string | No | ... |
| City | model | string | No | ... |
| StateOrProvinceCode | model | string | No | ... |
| PostalCode | model | string | No | ... |
| CountryCode | model | string | No | ... |
| WEB | |
| PPD | |
| CCD | |
| TEL | |
| ARC |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| CheckDetails | form | CheckResponseDetail | No | Check specific response details. |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| TransactionId | model | int | No | Gateway transaction ID/reference number. |
| TransactionType | model | string | Yes | Identifies the type of transaction processed. |
| Token | model | string | No | A value generated by the gateway for payment data which has been previously stored. The format of the value depends on the format selected when the payment method was originally stored. |
| MerchantKey | model | int | No | System-generated unique identifier of the merchant. |
| CustomerID | model | string | No | Customer ID related to the transaction. |
| CustomerKey | model | int | No | Customer Key related to the transaction. |
| TransactionIpAddress | model | string | No | IP Address of host the transaction request originated from. |
| HostCode | model | string | No | Host code/transaction id. |
| ResponseMessage | model | string | No | Text description of the transaction result or error. |
| ResultCode | model | int | No | Gateway code indicating the result of the transaction or error.Allowable Values
|
| ProcessorErrorCode | model | string | No | The error code, if any, returned by the processor. |
| ResultText | model | string | No | Short description of the transaction result. |
| InvoiceData | model | InvoiceData | Yes | Tracking/reporting fields used for identifying the transaction and associating it with a customer invoice. |
| CustomFields | model | List<CustomField> | No | Any merchant-defined custom fields and their associated values. |
| Timestamp | model | DateTime | No | Timestamp when transaction was processed. |
| UserName | model | string | No | Username for this transaction. |
| Register | model | string | No | Register used for this transaction. |
| ResellerKey | model | int | No | The merchant's reseller key. |
| PaymentType | model | string | No | Payment type for this transaction. |
| Processor | model | string | No | Name of the processor handling this transaction. |
| HostReferenceNumber | model | string | No | Timestamp when transaction was processed. |
| OriginalTransaction | form | AssociatedTransaction | No | Properties of the original transaction. |
| Tags | model | List<string> | No | A collection of the transaction's tag data (if present). |
| OrigResponseCode | form | string | No | The original response code received from the processor. |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| CheckData | model | ElectronicCheckData | No | Properties of the check/checking account used as payment for this transaction, if the payment type is check. |
| SECCode | model | string | No | ... |
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /v2/transactions/ecp HTTP/1.1
Host: syntch.simpay.net
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
TransactionType: Debit,
Token: String,
CheckData:
{
NameOnCheck: String,
RoutingNumber: String,
AccountNumber: String,
CheckNumber: String,
AccountType: Checking,
AccountEntity: Personal,
MICR: String,
RawMICR: String,
PresenterData:
{
DriversLicenseNumber: String,
DriversLicenseState: String,
SSN: String,
DateOfBirth: String,
EmailAddress: String,
TelephoneNumber: String
},
AddressOnCheck:
{
StreetAddress: String,
City: String,
StateOrProvinceCode: String,
PostalCode: String,
CountryCode: String
}
},
SECCode: WEB,
ForceDuplicate: False,
Register: String,
InvoiceData:
{
InvoiceNumber: String,
OrderNumber: String,
TotalAmount: 0,
TipAmount: 0,
ShippingAmount: 0,
SalesTaxAmount: 0,
DutyAmount: 0,
DiscountAmount: 0,
ConvenienceAmount: 0,
ConvenienceAmountPercentage: 0,
SurchargeAmount: 0,
CashBackAmount: 0,
FSA:
{
ClinicalAmount: 0,
CopayAmount: 0,
HealthcareAmount: 0,
DentalAmount: 0,
RXAmount: 0,
TransitAmount: 0,
VisionAmount: 0,
IIASVerified: False,
CumulativeAmount: 0
},
IsEstimatedAmount: False,
IsTaxExempt: False
},
DeviceData:
{
SdkVersion: String,
SerialNumber: String,
BatteryLevel: 0,
IsEncrypted: False,
EncryptionType: String,
ReaderEncryptionType: String,
MagnePrint: String,
MagnePrintStatus: String,
CVMResults: String
},
OriginalTransaction:
{
TransactionId: 0
},
CustomFields:
[
{
Key: 0,
Name: String,
Value: String
}
],
CustomerID: String,
CustomerKey: 0,
Tags:
[
String
],
MerchantOptions:
{
MerchantCategoryCode: String
}
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
CheckDetails:
{
CheckData:
{
NameOnCheck: String,
RoutingNumber: String,
AccountNumber: String,
CheckNumber: String,
AccountType: Checking,
AccountEntity: Personal,
MICR: String,
RawMICR: String,
PresenterData:
{
DriversLicenseNumber: String,
DriversLicenseState: String,
SSN: String,
DateOfBirth: String,
EmailAddress: String,
TelephoneNumber: String
},
AddressOnCheck:
{
StreetAddress: String,
City: String,
StateOrProvinceCode: String,
PostalCode: String,
CountryCode: String
}
},
SECCode: String
},
TransactionId: 0,
TransactionType: String,
Token: String,
MerchantKey: 0,
CustomerID: String,
CustomerKey: 0,
TransactionIpAddress: String,
HostCode: String,
ResponseMessage: String,
ResultCode: 0,
ProcessorErrorCode: String,
ResultText: String,
InvoiceData:
{
InvoiceNumber: String,
OrderNumber: String,
TotalAmount: 0,
TipAmount: 0,
ShippingAmount: 0,
SalesTaxAmount: 0,
DutyAmount: 0,
DiscountAmount: 0,
ConvenienceAmount: 0,
ConvenienceAmountPercentage: 0,
SurchargeAmount: 0,
CashBackAmount: 0,
FSA:
{
ClinicalAmount: 0,
CopayAmount: 0,
HealthcareAmount: 0,
DentalAmount: 0,
RXAmount: 0,
TransitAmount: 0,
VisionAmount: 0,
IIASVerified: False,
CumulativeAmount: 0
},
IsEstimatedAmount: False,
IsTaxExempt: False
},
CustomFields:
[
{
Key: 0,
Name: String,
Value: String
}
],
Timestamp: 0001-01-01,
UserName: String,
Register: String,
ResellerKey: 0,
PaymentType: String,
Processor: String,
HostReferenceNumber: String,
OriginalTransaction:
{
TransactionId: 0
},
Tags:
[
String
],
OrigResponseCode: String
}