Developers

Base URLhttps://apisandbox.surepay.co/api/v1

SurePay API reference

Introduction

Every SurePay surface — the portal, the virtual terminal, the mobile apps and the countertop terminals — runs on the endpoints below. Card and ACH, one-off and recurring, invoices and hosted payments, all under one base URL and one credential.

Pick an endpoint from the list on the left, or press / to search. Every request shows a runnable cURL, the raw JSON and a C# sample; switch language once and the whole page follows. Export Postman collection gives you the same requests as a v2.1 collection with baseUrl, token and apiKey already set up as variables.

Accounts with Token

Token

POST/token

This endpoint creates a sysadmin token.

Headers

KeyValue
Content-Typeapplication/x-www-form-urlencoded

Body

ParameterTypeM/C/OValue
grant_typestringMandatorypassword.
usernamestringMandatoryUsername of the sysadmin.
passwordstringMandatoryPassword of the sysadmin.
Request
curl -X POST https://apisandbox.surepay.co/api/v1/token \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "grant_type=password&username=$SUREPAY_USER&password=$SUREPAY_PASS"
Response
{
  "access_token": "eHSN5rTBzqDozgAAlN1UlTMVuIT1zSiAZWCo6EBqB7RFjVMuhmuPNWcYM7ozyMb3uaDe0gyDL_nMPESbuM5I4skBOYcUM4A06NO88CVV3yBYee7mWB1qT-YFu5A3KZJSfRIbTX9GZdrZpi-JuWsx-7GE9GIYrNJ29BpaQscTwxYDr67WiFlCCrsCqWnCPJUjCFRIrTDltz8vM15mlgjiO0y04ZACGOWNNErIVegX062oydV7SqumGJEbS9Av4gdy",
  "token_type": "bearer",
  "expires_in": 863999
}

Register user

POST/accounts/register

This endpoint registers a user.

Remember you will need to use an authentication token or the API Key in the header request for every transaction.

Headers using token

KeyValue
Content-Type"application/json"
AuthorizationToken. Eg: "Bearer eHSN5rTBzqDozgAAlN1UlTMVuIT1zSiAZWCo6E..."

Headers using API Key

KeyValue
Content-Type"application/json"
UserAuthorizationAPI Key. Eg: "e516b6db-3230-4b1c-ae3f-e5379b774a80"

Query Parameters

ParameterTypeM/C/OValue
UsernamestringMandatorySelected username.
PasswordstringMandatorySelected password.
ConfirmPasswordstringMandatorySelected password.
IsoNumberintegerMandatoryIso number.
FirstNamestringMandatoryUser’s first name.
LastNamestringMandatoryUser’s last name.
EmailstringMandatoryUser’s valid email address
PhoneintegerMandatoryUser’s phone number. The phone number must be syntactically correct. For example, 4152345678.
Address1stringMandatoryUser’s address.
Address2stringOptionalUser’s address line 2.
CitystringMandatoryUser’s city.
StatestringMandatoryUser’s short name state. The ISO 3166-2 CA and US state or province code of a user. Length = 2.
ZipcodeintegerMandatoryUser’s zipcode. Length = 5.
Request
curl -X POST https://apisandbox.surepay.co/api/v1/accounts/register \
  -H "Authorization: Bearer $SUREPAY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
 "Username": "JohnDoe",
 "Password": "123456",
 "ConfirmPassword": "123456",
 "IsoNumber": "5000",
 "FirstName": "John",
 "LastName": "Doe",
 "Email": "johndoe@mailinator.com",
 "Phone": "9177563046",
 "Address1": "151 E 33rd ST",
 "Address2": "Second Floor",
 "City": "Dallas",
 "State": "TX",
 "Zipcode": "76092"
}'
Response
{
  "id": "QyDhkzJXRRW8ydteUtCgGA",
  "userName": "JohnDoe",
  "isoNumber": 1000,
  "firstName": "John",
  "lastName": "Doe",
  "email": "johndoe@mailinator.com",
  "phone": "9177563046",
  "status": "User - Active",
  "address1": "151 E 33rd ST",
  "address2": "Second Floor",
  "city": "Dallas",
  "state": "TX",
  "zipcode": "76092",
  "accountNumber": "18746957"
}

Change user password

POST/accounts/ChangePassword

This endpoint changes user's password.

Remember you will need to use an authentication token or the API Key in the header request for every transaction.

Headers using token

KeyValue
Content-Type"application/json"
AuthorizationToken. Eg: "Bearer eHSN5rTBzqDozgAAlN1UlTMVuIT1zSiAZWCo6E..."

Headers using API Key

KeyValue
Content-Type"application/json"
UserAuthorizationAPI Key. Eg: "e516b6db-3230-4b1c-ae3f-e5379b774a80"

Query Parameters

ParameterTypeM/C/OValue
UsernamestringMandatoryUser’s username.
OldPasswordstringMandatoryUser’s old password.
NewPasswordstringMandatoryUser’s new password.
ConfirmPasswordstringMandatoryUser’s new password.
Request
curl -X POST https://apisandbox.surepay.co/api/v1/accounts/ChangePassword \
  -H "Authorization: Bearer $SUREPAY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "Username": "JohnDoe",
  "OldPassword": "123456",
  "NewPassword": "qwerty",
  "ConfirmPassword": "qwerty"
}'
Response
{
  "message": "Success"
}

Reset user password request

POST/accounts/ResetPasswordRequest

This endpoint generates user's password change request.

Remember you will need to use an authentication token or the API Key in the header request for every transaction.

Headers using token

KeyValue
Content-Type"application/json"

Headers using API Key

KeyValue
Content-Type"application/json"

Query Parameters

ParameterTypeM/C/OValue
UsernamestringMandatoryUser’s username.
Request
curl -X POST https://apisandbox.surepay.co/api/v1/accounts/ResetPasswordRequest \
  -H "Authorization: Bearer $SUREPAY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "UserName": "JohnDoe"
}'
Response
{
  "message": "Success. Email sent."
}

Reset user password

POST/accounts/ResetPassword

This endpoint resets user's password.

Remember you will need to use an authentication token or the API Key in the header request for every transaction.

Headers using token

KeyValue
Content-Type"application/json"

Headers using API Key

KeyValue
Content-Type"application/json"

Query Parameters

ParameterTypeM/C/OValue
KeystringMandatoryKey sent to user email.
NewPasswordstringMandatoryUser’s new password.
ConfirmPasswordstringMandatoryUser’s new password.
Request
curl -X POST https://apisandbox.surepay.co/api/v1/accounts/ResetPassword \
  -H "Authorization: Bearer $SUREPAY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "Key": "db92b207a57a48989924788199fbc104e3034780e4904df49d857320bce0e7de",
  "NewPassword": "123457",
  "ConfirmPassword": "123457"
}'
Response
{
  "message": "Success. Password changed."
}

Users

Update user

PUT/users/<guid>

This endpoint updates a user.

Remember you will need to use an authentication token or the API Key in the header request for every transaction.

Headers using token

KeyValue
Content-Type"application/json"
AuthorizationToken. Eg: "Bearer eHSN5rTBzqDozgAAlN1UlTMVuIT1zSiAZWCo6E..."

Headers using API Key

KeyValue
Content-Type"application/json"
UserAuthorizationAPI Key. Eg: "e516b6db-3230-4b1c-ae3f-e5379b774a80"

URL Parameters

ParameterDescription
guidUser’s guid to update

Query Parameters

ParameterTypeM/C/OValue
FirstNamestringOptionalUser’s first name.
LastNamestringOptionalUser’s last name.
EmailstringOptionalUser’s valid email address
PhoneintegerOptionalUser’s phone number. The phone number must be syntactically correct. For example, 4152345678.
Address1stringOptionalUser’s address.
Address2stringOptionalUser’s address line 2.
CitystringOptionalUser’s city.
StatestringOptionalUser’s short name state. The ISO 3166-2 CA and US state or province code of a user. Length = 2.
ZipcodeintegerOptionalUser’s zipcode. Length = 5.
Request
curl -X PUT https://apisandbox.surepay.co/api/v1/users/<guid> \
  -H "Authorization: Bearer $SUREPAY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
 "FirstName": "John",
 "LastName": "Doe",
 "Email": "johndoe@mailinator.com",
 "Phone": "9177563666",
 "Address1": "151 E 33rd ST",
 "Address2": "Second Floor",
 "City": "Dallas",
 "State": "TX",
 "Zipcode": "76092"
}'
Response
{
  "guid": "f3db1e2c-df7f-4cbe-b0cf-25f74d17b501",
  "userName": "JohnDoe",
  "isoNumber": 1000,
  "firstName": "John",
  "lastName": "Doe",
  "email": "johndoe@mailinator.com",
  "phone": "9177563666",
  "status": "User - Active",
  "address1": "151 E 33rd ST",
  "address2": "Second Floor",
  "city": "Dallas",
  "state": "TX",
  "zipcode": "76092",
  "accountNumber": "10000000",
  "roles": [
        {
            "name": "Iso Admin"
        },
        {
            "name": "Iso Employee"
        },
        {
            "name": "Merchant Admin"
        }
    ]
}

Get myself

GET/users/myself

This endpoint get myself.

Remember you will need to use an authentication token or the API Key in the header request for every transaction.

Headers using token

KeyValue
AuthorizationToken. Eg: "Bearer eHSN5rTBzqDozgAAlN1UlTMVuIT1zSiAZWCo6E..."

Headers using API Key

KeyValue
UserAuthorizationAPI Key. Eg: "e516b6db-3230-4b1c-ae3f-e5379b774a80"
Request
curl -X GET https://apisandbox.surepay.co/api/v1/users/myself \
  -H "Authorization: Bearer $SUREPAY_TOKEN"
Response
{
    "guid": "961612a5-427b-4bbc-8a11-bfc1b9149243",
    "userName": "maxwinston",
    "isoNumber": "1000",
    "firstName": "Max",
    "lastName": "Winston",
    "email": "maxwinston@mailinator.com",
    "phone": "9177563046",
    "status": "User - Active",
    "address1": "151 E 33rd ST",
    "address2": "Second Floor",
    "city": "New York",
    "state": "NY",
    "zipcode": "10016",
    "accountNumber": "17091897",
    "roles": [
        {
            "name": "Iso Admin"
        },
        {
            "name": "Iso Employee"
        },
        {
            "name": "Merchant Admin"
        }
    ]
}

Bank Clearing

Create bank clearing

POST/BankClearings

This endpoint creates a bank clearing.

Remember you will need to use an authentication token or the API Key in the header request for every transaction.
You will get updates by e-mail regarding the Bank Clearing status.

Headers using token

KeyValue
Content-Type"application/json"
AuthorizationToken. Eg: "Bearer eHSN5rTBzqDozgAAlN1UlTMVuIT1zSiAZWCo6E..."

Headers using API Key

KeyValue
Content-Type"application/json"
UserAuthorizationAPI Key. Eg: "e516b6db-3230-4b1c-ae3f-e5379b774a80"

Query Parameters

ParameterTypeM/C/OValue
DeviceGuidstringMandatoryDevice Guid.
AmountdecimalMandatoryAmount of the transaction. Min. amt.: $0.50
SequenceNumberstringOptionalUse this number to call timeout reversal endpoint if you don't get a response.
IsBusinessPaymentbooleanOptionalTrue when using company (CCD), false when using individual (PPD). Allowed values: 1. true 2. false
SendReceiptbooleanOptionalSet to “FALSE” if you do not want an e-mail receipt to be sent to the customer. Set to “TRUE” or leave empty if you want e-mail to be sent.
CustomDatastringOptionalorder details.
CustomerLabelstringOptionalAny name you want to show instead of customer. Eg., Player, Patient, Buyer.
CustomerIDstringOptionalAny combination of numbers and letters you use to identify the customer.
BusinessNamestringOptionalA merchant name you want to use instead of your DBA.
BankAccountobjectMandatorySee BankAccount.
Request
curl -X POST https://apisandbox.surepay.co/api/v1/BankClearings \
  -H "Authorization: Bearer $SUREPAY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "DeviceGuid" : "4fdd9d2c-cda5-4e0f-b6d6-fed65393592a",
  "Amount" : 15.42, 
  "IsBusinessPayment" : true,
  "SendReceipt" : "true",
  "CustomData" : "order details",
  "CustomerLabel" : "Patient",
  "CustomerId" : "xt147",
  "BusinessName" : "Star Shoes California",
  "BankAccount":
  {
    "RoutingNumber" : "490000018",
    "AccountNumber" : "441142020",
    "NameOnAccount" : "Joe Black",  
    "Customer":
    {
      "FirstName" : "Joe",
      "LastName" : "Black",
      "Phone" : "4207888807",
      "City" : "Austin",
      "State" : "TX",
      "Country" : "US",
      "Email" : "jblack@mailinator.com",
      "Address1" : "107 7th Av.",
      "Address2" : "",
      "Zip" : "10007",
      "DateOfBirth" : "1987-07-07",
      "DriverLicenseNumber" : "12345678",
      "DriverLicenseState" : "TX",
      "SSN4" : "1210"
    }
  }
}'
Response
{
    "guid": "f3221d3c-0cb4-43be-89bc-2b5aee58b671",
    "status": "Transaction - Approved",
    "timeStamp": "2017-07-03T14:42:39.53",
    "deviceGuid": "386ac1e6-250d-4866-b283-248c1e9340ef",
    "amount": 15.42,
    "effectiveAmount": 15.42,
    "isBusinessPayment": false,
    "customData": "order details",
    "operationType": "Sale",
    "settlementType": "ACH",
    "customerLabel": "Patient",
    "businessName": "Star Shoes California",
    "customerID": "xt147",
    "processorStatusCode": "A",
    "processorResponseMessage": "APPROVED | APPROVAL | AUTH NUM 272-172 | [(4096): Internal Override] | [(0): ] | T:2315",
    "wasProcessed": true,
    "bankAccount": {
        "guid": "4506e746-b661-47f8-b70c-a2c85d28be96",
        "routingNumber": "490000018",
        "accountNumber": "441142020",
        "accountNumberLastFour": "2020",
        "nameOnAccount": "Joe Black",
        "customer": {
            "guid": "615e6b8c-18c9-4a7d-b0ca-aa6b4bec9692",
            "firstName": "Joe",
            "lastName": "Black",
            "phone": "4207888807",
            "city": "Austin",
            "country": "US",
            "email": "jblack@mailinator.com",
            "zip": "10007",
            "address1": "107 7th Av.",
            "address2": "",
            "state": "TX",
            "dateOfBirth": "1987-07-07T00:00:00",
            "driverLicenseNumber": "12345678",
            "driverLicenseState": "TX",
            "ssN4": "1210"
        }
    }
}

Get bank clearing

GET/BankClearings/<guid>

This endpoint gets a bank clearing.

Remember you will need to use an authentication token or the API Key in the header request for every transaction.

Headers using token

KeyValue
AuthorizationToken. Eg: "Bearer eHSN5rTBzqDozgAAlN1UlTMVuIT1zSiAZWCo6E..."

Headers using API Key

KeyValue
UserAuthorizationAPI Key. Eg: "e516b6db-3230-4b1c-ae3f-e5379b774a80"

URL Parameters

ParameterDescription
guidBank clearing’s guid to get
Request
curl -X GET https://apisandbox.surepay.co/api/v1/BankClearings/<guid> \
  -H "Authorization: Bearer $SUREPAY_TOKEN"
Response
{
    "guid": "f3221d3c-0cb4-43be-89bc-2b5aee58b671",
    "status": "Transaction - Approved",
    "timeStamp": "2017-07-03T14:42:39.53",
    "deviceGuid": "386ac1e6-250d-4866-b283-248c1e9340ef",
    "amount": 15.42,
    "effectiveAmount": 15.42,
    "isBusinessPayment": false,
    "customData": "order details",
    "operationType": "Sale",
    "settlementType": "ACH",
    "customerLabel": "Patient",
    "businessName": "Star Shoes California",
    "customerID": "xt147",
    "processorStatusCode": "A",
    "processorResponseMessage": "APPROVED | APPROVAL | AUTH NUM 272-172 | [(4096): Internal Override] | [(0): ] | T:2315",
    "processorTransactionStatus": "Approved",
    "processorSettlementStatus": "To Be Originated",
    "wasProcessed": true,
    "bankAccount": {
        "guid": "4506e746-b661-47f8-b70c-a2c85d28be96",
        "routingNumber": "490000018",
        "accountNumber": "441142020",
        "accountNumberLastFour": "2020",
        "nameOnAccount": "Joe Black",
        "customer": {
            "guid": "615e6b8c-18c9-4a7d-b0ca-aa6b4bec9692",
            "firstName": "Joe",
            "lastName": "Black",
            "phone": "4207888807",
            "city": "Austin",
            "country": "US",
            "email": "jblack@mailinator.com",
            "zip": "10007",
            "address1": "107 7th Av.",
            "address2": "",
            "state": "TX",
            "dateOfBirth": "1987-07-07T00:00:00",
            "driverLicenseNumber": "12345678",
            "driverLicenseState": "TX",
            "ssN4": "1210"
        }
    }
}

Timeout Reversal

POST/bankclearings/timeoutreversal

This a feature that allows a user to void a transaction if it never got a response. You must send the device guid of the terminal used to run the transaction and the sequence number. If there was a sale run on that device with that sequence and it was approved, it will be voided. Otherwise you will be informed that a sale was found but it had not been approved or that there was no sale at all with that combination of device guid and sequence number.

Remember you will need to use an authentication token or the API Key in the header request for every transaction.

Headers using token

KeyValue
Content-Type"application/json"
AuthorizationToken. Eg: "Bearer eHSN5rTBzqDozgAAlN1UlTMVuIT1zSiAZWCo6E..."

Headers using API Key

KeyValue
Content-Type"application/json"
UserAuthorizationAPI Key. Eg: "e516b6db-3230-4b1c-ae3f-e5379b774a80"

Query Parameters

ParameterTypeM/C/OValue
DeviceGuidstringMandatoryDevice's Guid.
SequenceNumberstringMandatorySequence Number.
Request
curl -X POST https://apisandbox.surepay.co/api/v1/bankclearings/timeoutreversal \
  -H "Authorization: Bearer $SUREPAY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "DeviceGuid": "b29725af-b067-4a35-9819-bbb31bdf8808",
    "SequenceNumber": "849741"
}'
Response
"Device Guid and Sequence Number combination found and voided."

Bank Clearing Void

Create bank clearing void

POST/BankClearingVoids

This endpoint creates a bank clearing void.

Remember you will need to use an authentication token or the API Key in the header request for every transaction.

Headers using token

KeyValue
Content-Type"application/json"
AuthorizationToken. Eg: "Bearer eHSN5rTBzqDozgAAlN1UlTMVuIT1zSiAZWCo6E..."

Headers using API Key

KeyValue
Content-Type"application/json"
UserAuthorizationAPI Key. Eg: "e516b6db-3230-4b1c-ae3f-e5379b774a80"

Query Parameters

ParameterTypeM/C/OValue
DeviceGuidstringMandatoryDevice Guid.
ClearingGuidstringMandatoryClearing Guid.
Request
curl -X POST https://apisandbox.surepay.co/api/v1/BankClearingVoids \
  -H "Authorization: Bearer $SUREPAY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "DeviceGuid" : "386ac1e6-250d-4866-b283-248c1e9340ef",
  "ClearingGuid" : "f3221d3c-0cb4-43be-89bc-2b5aee58b671"
}'
Response
{
    "guid": "48ea2c28-fa67-404a-88f7-2d73801f4926",
    "status": "Transaction - Approved",
    "timeStamp": "2017-07-03T14:48:35.46",
    "deviceGuid": "386ac1e6-250d-4866-b283-248c1e9340ef",
    "clearingGuid": "f3221d3c-0cb4-43be-89bc-2b5aee58b671",
    "processorStatusCode": "A",
    "processorResponseMessage": "APPROVED | VOID ACCEPTED | VOID ACCEPTED | [(5120): Voided Check | Internal Override] | [(0): ] | T:2315",
    "wasProcessed": true,
    "relatedClearing": {
        "guid": "f3221d3c-0cb4-43be-89bc-2b5aee58b671",
        "status": "Transaction - Approved",
        "timeStamp": "2017-07-03T14:42:39.53",
        "deviceGuid": "386ac1e6-250d-4866-b283-248c1e9340ef",
        "amount": 15.42,
        "effectiveAmount": 0,
        "isBusinessPayment": false,
        "customData": "order details",
        "operationType": "Sale",
        "settlementType": "ACH",
        "processorStatusCode": "A",
        "processorResponseMessage": "APPROVED | APPROVAL | AUTH NUM 272-172 | [(4096): Internal Override] | [(0): ] | T:2315",
        "wasProcessed": true,
        "bankAccount": {
            "guid": "4506e746-b661-47f8-b70c-a2c85d28be96",
            "routingNumber": "490000018",
            "accountNumber": "441142020",
            "accountNumberLastFour": "2020",
            "nameOnAccount": "Joe Black",
            "customer": {
                "guid": "615e6b8c-18c9-4a7d-b0ca-aa6b4bec9692",
                "firstName": "Joe",
                "lastName": "Black",
                "phone": "4207888807",
                "city": "Austin",
                "country": "US",
                "email": "jblack@mailinator.com",
                "zip": "10007",
                "address1": "107 7th Av.",
                "address2": "",
                "state": "TX",
                "dateOfBirth": "1987-07-07T00:00:00",
                "driverLicenseNumber": "12345678",
                "driverLicenseState": "TX",
                "ssN4": "1210"
            }
        }
    }
}

Get bank clearing void

GET/BankClearingVoids/<guid>

This endpoint gets a bank clearing void.

Remember you will need to use an authentication token or the API Key in the header request for every transaction.

Headers using token

KeyValue
AuthorizationToken. Eg: "Bearer eHSN5rTBzqDozgAAlN1UlTMVuIT1zSiAZWCo6E..."

Headers using API Key

KeyValue
UserAuthorizationAPI Key. Eg: "e516b6db-3230-4b1c-ae3f-e5379b774a80"

URL Parameters

ParameterDescription
guidBank clearing void’s guid to get
Request
curl -X GET https://apisandbox.surepay.co/api/v1/BankClearingVoids/<guid> \
  -H "Authorization: Bearer $SUREPAY_TOKEN"
Response
{
    "guid": "48ea2c28-fa67-404a-88f7-2d73801f4926",
    "status": "Transaction - Approved",
    "timeStamp": "2017-07-03T14:48:35.46",
    "deviceGuid": "386ac1e6-250d-4866-b283-248c1e9340ef",
    "clearingGuid": "f3221d3c-0cb4-43be-89bc-2b5aee58b671",
    "processorStatusCode": "A",
    "processorResponseMessage": "APPROVED | VOID ACCEPTED | VOID ACCEPTED | [(5120): Voided Check | Internal Override] | [(0): ] | T:2315",
    "wasProcessed": true,
    "relatedClearing": {
        "guid": "f3221d3c-0cb4-43be-89bc-2b5aee58b671",
        "status": "Transaction - Approved",
        "timeStamp": "2017-07-03T14:42:39.53",
        "deviceGuid": "386ac1e6-250d-4866-b283-248c1e9340ef",
        "amount": 15.42,
        "effectiveAmount": 0,
        "isBusinessPayment": false,
        "customData": "order details",
        "operationType": "Sale",
        "settlementType": "ACH",
        "processorStatusCode": "A",
        "processorResponseMessage": "APPROVED | APPROVAL | AUTH NUM 272-172 | [(4096): Internal Override] | [(0): ] | T:2315",
        "wasProcessed": true,
        "bankAccount": {
            "guid": "4506e746-b661-47f8-b70c-a2c85d28be96",
            "routingNumber": "490000018",
            "accountNumber": "441142020",
            "accountNumberLastFour": "2020",
            "nameOnAccount": "Joe Black",
            "customer": {
                "guid": "615e6b8c-18c9-4a7d-b0ca-aa6b4bec9692",
                "firstName": "Joe",
                "lastName": "Black",
                "phone": "4207888807",
                "city": "Austin",
                "country": "US",
                "email": "jblack@mailinator.com",
                "zip": "10007",
                "address1": "107 7th Av.",
                "address2": "",
                "state": "TX",
                "dateOfBirth": "1987-07-07T00:00:00",
                "driverLicenseNumber": "12345678",
                "driverLicenseState": "TX",
                "ssN4": "1210"
            }
        }
    }
}

Bank Clearing Return

Create bank clearing return

POST/BankClearingReturns

This endpoint creates a bank clearing return.

Remember you will need to use an authentication token or the API Key in the header request for every transaction.

Headers using token

KeyValue
Content-Type"application/json"
AuthorizationToken. Eg: "Bearer eHSN5rTBzqDozgAAlN1UlTMVuIT1zSiAZWCo6E..."

Headers using API Key

KeyValue
Content-Type"application/json"
UserAuthorizationAPI Key. Eg: "e516b6db-3230-4b1c-ae3f-e5379b774a80"

Query Parameters

ParameterTypeM/C/OValue
DeviceGuidstringMandatoryDevice Guid.
ClearingGuidstringMandatoryClearing Guid.
Request
curl -X POST https://apisandbox.surepay.co/api/v1/BankClearingReturns \
  -H "Authorization: Bearer $SUREPAY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "DeviceGuid" : "386ac1e6-250d-4866-b283-248c1e9340ef",
  "ClearingGuid" : "43d3f532-3c53-4b2c-aa25-0a0048b1e47e"
}'
Response
{
    "guid": "122fb6b6-dd34-489a-875c-8ec61e8aa1ec",
    "status": "Transaction - Approved",
    "timeStamp": "2017-07-03T14:55:02.01",
    "deviceGuid": "386ac1e6-250d-4866-b283-248c1e9340ef",
    "clearingGuid": "43d3f532-3c53-4b2c-aa25-0a0048b1e47e",
    "processorStatusCode": "A",
    "processorResponseMessage": "APPROVED | REVERSAL ACCEPTED | REVERSAL ACCEPTED | [(5120): Voided Check | Internal Override] | [(0): ] | T:2315",
    "wasProcessed": true,
    "relatedClearing": {
        "guid": "43d3f532-3c53-4b2c-aa25-0a0048b1e47e",
        "status": "Transaction - Approved",
        "timeStamp": "2017-07-03T14:53:43.83",
        "deviceGuid": "386ac1e6-250d-4866-b283-248c1e9340ef",
        "amount": 15.42,
        "effectiveAmount": 0,
        "isBusinessPayment": false,
        "customData": "order details",
        "operationType": "Sale",
        "settlementType": "ACH",
        "processorStatusCode": "A",
        "processorResponseMessage": "APPROVED | APPROVAL | AUTH NUM 272-172 | [(4096): Internal Override] | [(0): ] | T:2315",
        "wasProcessed": true,
        "bankAccount": {
            "guid": "4506e746-b661-47f8-b70c-a2c85d28be96",
            "routingNumber": "490000018",
            "accountNumber": "441142020",
            "accountNumberLastFour": "2020",
            "nameOnAccount": "Joe Black",
            "customer": {
                "guid": "615e6b8c-18c9-4a7d-b0ca-aa6b4bec9692",
                "firstName": "Joe",
                "lastName": "Black",
                "phone": "4207888807",
                "city": "Austin",
                "country": "US",
                "email": "jblack@mailinator.com",
                "zip": "10007",
                "address1": "107 7th Av.",
                "address2": "",
                "state": "TX",
                "dateOfBirth": "1987-07-07T00:00:00",
                "driverLicenseNumber": "12345678",
                "driverLicenseState": "TX",
                "ssN4": "1210"
            }
        }
    }
}

Get bank clearing return

GET/BankClearingReturns/<guid>

This endpoint gets a bank clearing return.

Remember you will need to use an authentication token or the API Key in the header request for every transaction.

Headers using token

KeyValue
AuthorizationToken. Eg: "Bearer eHSN5rTBzqDozgAAlN1UlTMVuIT1zSiAZWCo6E..."

Headers using API Key

KeyValue
UserAuthorizationAPI Key. Eg: "e516b6db-3230-4b1c-ae3f-e5379b774a80"

URL Parameters

ParameterDescription
guidBank clearing return’s guid to get
Request
curl -X GET https://apisandbox.surepay.co/api/v1/BankClearingReturns/<guid> \
  -H "Authorization: Bearer $SUREPAY_TOKEN"
Response
{
    "guid": "122fb6b6-dd34-489a-875c-8ec61e8aa1ec",
    "status": "Transaction - Approved",
    "timeStamp": "2017-07-03T14:55:02.01",
    "deviceGuid": "386ac1e6-250d-4866-b283-248c1e9340ef",
    "clearingGuid": "43d3f532-3c53-4b2c-aa25-0a0048b1e47e",
    "processorStatusCode": "A",
    "processorResponseMessage": "APPROVED | REVERSAL ACCEPTED | REVERSAL ACCEPTED | [(5120): Voided Check | Internal Override] | [(0): ] | T:2315",
    "wasProcessed": true,
    "relatedClearing": {
        "guid": "43d3f532-3c53-4b2c-aa25-0a0048b1e47e",
        "status": "Transaction - Approved",
        "timeStamp": "2017-07-03T14:53:43.83",
        "deviceGuid": "386ac1e6-250d-4866-b283-248c1e9340ef",
        "amount": 15.42,
        "effectiveAmount": 0,
        "isBusinessPayment": false,
        "customData": "order details",
        "operationType": "Sale",
        "settlementType": "ACH",
        "processorStatusCode": "A",
        "processorResponseMessage": "APPROVED | APPROVAL | AUTH NUM 272-172 | [(4096): Internal Override] | [(0): ] | T:2315",
        "wasProcessed": true,
        "bankAccount": {
            "guid": "4506e746-b661-47f8-b70c-a2c85d28be96",
            "routingNumber": "490000018",
            "accountNumber": "441142020",
            "accountNumberLastFour": "2020",
            "nameOnAccount": "Joe Black",
            "customer": {
                "guid": "615e6b8c-18c9-4a7d-b0ca-aa6b4bec9692",
                "firstName": "Joe",
                "lastName": "Black",
                "phone": "4207888807",
                "city": "Austin",
                "country": "US",
                "email": "jblack@mailinator.com",
                "zip": "10007",
                "address1": "107 7th Av.",
                "address2": "",
                "state": "TX",
                "dateOfBirth": "1987-07-07T00:00:00",
                "driverLicenseNumber": "12345678",
                "driverLicenseState": "TX",
                "ssN4": "1210"
            }
        }
    }
}

Sale

Create sale

POST/sales

The Sale transaction is used to charge a credit card. When running a sale you’re authorizing an amount on a credit card that will make the settlement of that amount at the end of the day. The sale is just like running an AuthOnly and a Capture all together.

This endpoint creates a sale.

Remember you will need to use an authentication token or the API Key in the header request for every transaction.

Headers using token

KeyValue
Content-Type"application/json"
AuthorizationToken. Eg: "Bearer eHSN5rTBzqDozgAAlN1UlTMVuIT1zSiAZWCo6E..."

Headers using API Key

KeyValue
Content-Type"application/json"
UserAuthorizationAPI Key. Eg: "e516b6db-3230-4b1c-ae3f-e5379b774a80"

Query Parameters

ParameterTypeM/C/OValue
DeviceGuidstringMandatoryDevice's Guid.
AmountdecimalMandatoryAmount of the transaction. Min. amt.: $0.50
TipAmountdecimalOptionalTip Amount of the transaction.
SequenceNumberstringOptionalUse this number to call timeout reversal endpoint if you don't get a response.
OrderNumberstringOptionalMerchant's order number. The value sent on this element will be returned as InvoiceNumber. Length = 17.
OrderDatedateOptionalOrder Date.
SendReceiptbooleanOptionalSet to “FALSE” if you do not want an e-mail receipt to be sent to the customer. Set to “TRUE” or leave empty if you want e-mail to be sent.
CustomDatastringOptionalorder details.
CustomerLabelstringOptionalAny name you want to show instead of customer. Eg., Player, Patient, Buyer.
CustomerIDstringOptionalAny combination of numbers and letters you use to identify the customer.
BusinessNamestringOptionalA merchant name you want to use instead of your DBA.
AssociateCustomerCardbooleanOptionalAn option to know if you want use to save customer and card token.
SurchargeLabelstringOptionalSurcharge Name.
SurchargeTypestringOptionalP or F (percentage or fixed).
SurchargedecimalOptionalDefault additional charge value.
ServiceFeedecimalOptionalAny additional amount the merchant wants to charge on every sale.(fixed)
DiscountdecimalOptionalAny amount the merchant wants to discount on every sale.(fixed)
GrossAmountdecimalIf ServiceFee and/or Discount are sent, GrossAmount is mandatoryAmount before service fee and/or discount.
SemiIntegratedbooleanOptionalOnly when physical terminal used on semi integrated mode, send value True.
CardobjectMandatorySee Card.
EnhancedDataobjectOptionalSee EnhancedData.
Request
curl -X POST https://apisandbox.surepay.co/api/v1/sales \
  -H "Authorization: Bearer $SUREPAY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "DeviceGuid" : "2101a0b0-6e0b-481b-b313-049675630c43",
  "Amount" : 19.74,
  "TipAmount" : 0.74,
  "OrderNumber" : "11518",
  "OrderDate" : "2017-02-03",
  "SendReceipt" : "true",
  "CustomData" : "order details",
  "CustomerLabel" : "Patient",
  "CustomerId" : "xt147",
  "BusinessName" : "Star Shoes California",
  "AssociateCustomerCard" : "true",
  "Card":
  {
    "CardNumber" : "5306764208460213",
    "CardHolderName" : "John Doe",
    "Cvv2" : "998",
    "ExpirationDate" : "1907",
    "Customer":
    {
      "FirstName" : "John",
      "LastName" : "Doe",
      "Phone" : "9177563007",
      "City" : "New York",
      "State" : "NY",
      "Country" : "US",
      "Email" : "johnd@mailinator.com",
      "Address1" : "107 7th Av.",
      "Address2" : "",
      "Zip" : "10007",
      "DateOfBirth" : "1987-07-07",
      "DriverLicenseNumber" : "12345678",
      "DriverLicenseState" : "TX",
      "SSN4" : "1210"
    }
  }
}'
Response
{
    "guid": "acd8333f-2fb7-4427-8101-6c8e22f4a537",
    "status": "Transaction - Approved",
    "batchStatus": "Batch - Open",
    "timeStamp": "2017-07-11T10:36:53.75",
    "deviceGuid": "8f65764d-72c1-4dee-ac9f-4cd4c98e8c35",
    "amount": 19.74,
    "tipAmount": 0.74,
    "effectiveAmount": 19.74,
    "orderNumber": "11518",
    "orderDate": "2017-02-03T00:00:00",
    "cardDataSource": "MANUAL",
    "customerLabel": "Patient",
    "businessName": "Star Shoes California",
    "customerID": "xt147",
    "batchGuid": "c368cc6c-ec9f-4f63-b90f-e72bf498babd",
    "processorStatusCode": "A0000",
    "processorResponseMessage": "Success",
    "wasProcessed": true,
    "authCode": "VTLMC1",
    "refNumber": "13283532",
    "invoiceNumber": "11518",
    "customerReceipt": "SUR TECHNOLOGY HOLDINGS\\n8320 S HARDY DRIVE\\nTEMPE AZ 85284\\n07/11/2017 06:36:57\\n\\nCREDIT - SALE\\n\\nCARD # : **** **** **** 0213\\nCARD TYPE :MASTERCARD\\nEntry Mode : MANUAL\\n\\nREF # : 13283532\\nInvoice number : 11518\\nAUTH CODE : VTLMC1\\nSubtotal:                       $19.00\\n--------------------------------------\\nTip:                            $0.74\\n--------------------------------------\\nTotal:                          $19.74\\n--------------------------------------\\n\\n\\n\\nJohn Doe\\n\\nCUSTOMER ACKNOWLEDGES RECEIPT OF\\nGOODS AND/OR SERVICES IN THE AMOUNT\\nOF THE TOTAL SHOWN HEREON AND AGREES\\nTO PERFORM THE OBLIGATIONS SET FORTH\\nBY THE CUSTOMER`S AGREEMENT WITH THE\\nISSUER\\nAPPROVED\\n\\n\\n\\n\\nCustomer Copy\\n",
    "customData": "order details",
    "generatedBy": "maxwinston",
    "card": {
        "first4": "5306",
        "last4": "0213",
        "cardNumber": "1zcGT7J4pkGh0213",
        "cardHolderName": "John Doe",
        "expirationDate": "2019-07",
        "customer": {
            "guid": "d1cf828d-3050-4e4c-b7cf-f4038d114d39",
            "firstName": "John",
            "lastName": "Doe",
            "phone": "9177563007",
            "city": "New York",
            "country": "US",
            "email": "johnd@mailinator.com",
            "zip": "10007",
            "address1": "107 7th Av.",
            "address2": "",
            "state": "NY",
            "dateOfBirth": "1987-07-07T00:00:00",
            "driverLicenseNumber": "12345678",
            "driverLicenseState": "TX",
            "ssN4": "1210"
        }
    },
    "associateCustomerCard": true
}

Token – Account Updater

When Merchant enrolled in the Account Updater program, the credit card number and expiration date will be reviewed and if a new card or expiration has been issued our host will return as a card token along with the Status for the update. If you are storing this information for recurring billing purposes, next transaction for this consumer should be utilizing the newly provided token representing the new card/expiration.

No request body.

Get sale

GET/sales/<guid>

This endpoint gets a sale.

Remember you will need to use an authentication token or the API Key in the header request for every transaction.

Headers using token

KeyValue
AuthorizationToken. Eg: "Bearer eHSN5rTBzqDozgAAlN1UlTMVuIT1zSiAZWCo6E..."

Headers using API Key

KeyValue
UserAuthorizationAPI Key. Eg: "e516b6db-3230-4b1c-ae3f-e5379b774a80"

URL Parameters

ParameterDescription
guidSale’s guid to get
Request
curl -X GET https://apisandbox.surepay.co/api/v1/sales/<guid> \
  -H "Authorization: Bearer $SUREPAY_TOKEN"
Response
{
    "guid": "265717d6-baf6-4141-8563-537889f70d5d",
    "status": "Transaction - Approved",
    "batchStatus": "Batch - Open",
    "timeStamp": "2017-07-11T10:36:53.75",
    "deviceGuid": "8f65764d-72c1-4dee-ac9f-4cd4c98e8c35",
    "amount": 19.74,
    "tipAmount": 0.74,
    "effectiveAmount": 19.74,
    "orderNumber": "11518",
    "orderDate": "2017-02-03T00:00:00",
    "cardDataSource": "MANUAL",
    "customerLabel": "Patient",
    "businessName": "Star Shoes California",
    "customerID": "xt147",
    "batchGuid": "c368cc6c-ec9f-4f63-b90f-e72bf498babd",
    "processorStatusCode": "A0000",
    "processorResponseMessage": "Success",
    "wasProcessed": true,
    "authCode": "VTLMC1",
    "refNumber": "13283532",
    "invoiceNumber": "11518",
    "customerReceipt": "SUR TECHNOLOGY HOLDINGS\\n8320 S HARDY DRIVE\\nTEMPE AZ 85284\\n07/11/2017 06:36:57\\n\\nCREDIT - SALE\\n\\nCARD # : **** **** **** 0213\\nCARD TYPE :MASTERCARD\\nEntry Mode : MANUAL\\n\\nREF # : 13283532\\nInvoice number : 11518\\nAUTH CODE : VTLMC1\\nSubtotal:                       $19.00\\n--------------------------------------\\nTip:                            $0.74\\n--------------------------------------\\nTotal:                          $19.74\\n--------------------------------------\\n\\n\\n\\nJohn Doe\\n\\nCUSTOMER ACKNOWLEDGES RECEIPT OF\\nGOODS AND/OR SERVICES IN THE AMOUNT\\nOF THE TOTAL SHOWN HEREON AND AGREES\\nTO PERFORM THE OBLIGATIONS SET FORTH\\nBY THE CUSTOMER`S AGREEMENT WITH THE\\nISSUER\\nAPPROVED\\n\\n\\n\\n\\nCustomer Copy\\n",
    "customData": "order details",
    "generatedBy": "maxwinston",
    "card": {
        "first4": "5306",
        "last4": "0213",
        "cardNumber": "1zcGT7J4pkGh0213",
        "cardHolderName": "John Doe",
        "expirationDate": "2019-07",
        "customer": {
            "guid": "d1cf828d-3050-4e4c-b7cf-f4038d114d39",
            "firstName": "John",
            "lastName": "Doe",
            "phone": "9177563007",
            "city": "New York",
            "country": "US",
            "email": "johnd@mailinator.com",
            "zip": "10007",
            "address1": "107 7th Av.",
            "address2": "",
            "state": "NY",
            "dateOfBirth": "1987-07-07T00:00:00",
            "driverLicenseNumber": "12345678",
            "driverLicenseState": "TX",
            "ssN4": "1210"
        }
    },
    "associateCustomerCard": true
}

Create Tip Adjustment

POST/sales/TipAdjustment

This endpoint creates a tip adjustment.

Remember you will need to use an authentication token or the API Key in the header request for every transaction.

Headers using token

KeyValue
Content-Type"application/json"
AuthorizationToken. Eg: "Bearer eHSN5rTBzqDozgAAlN1UlTMVuIT1zSiAZWCo6E..."

Headers using API Key

KeyValue
Content-Type"application/json"
UserAuthorizationAPI Key. Eg: "e516b6db-3230-4b1c-ae3f-e5379b774a80"

Query Parameters

ParameterTypeM/C/OValue
DeviceGuidstringMandatoryDevice's Guid.
TipAmountdecimalMandatoryTip Amount.
SaleGuidstringConditionalSale's Guid. Mandatory when SaleReferenceNumber field are not sent.
SaleReferenceNumberstringConditionalSale Reference Number. Mandatory when SaleGuid field are not sent.
Request
curl -X POST https://apisandbox.surepay.co/api/v1/sales/TipAdjustment \
  -H "Authorization: Bearer $SUREPAY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "DeviceGuid" : "8ec1c40b-0c00-4a57-a9c7-7800bd52c308",
  "TipAmount" : 10.00,
  "SaleGuid" : "4d35a3c2-cab9-4a3e-b148-9e3c9586c7e5"
}'
Response
{
    "guid": "d7b725a6-ef15-4e36-b06c-f1b0a587ba20",
    "tipAmount": 10.05,
    "status": "Transaction - Approved",
    "timeStamp": "2017-08-29T14:26:22.41-03:00",
    "deviceGuid": "8ec1c40b-0c00-4a57-a9c7-7800bd52c308",
    "saleGuid": "4d35a3c2-cab9-4a3e-b148-9e3c9586c7e5",
    "saleReferenceNumber": "13468992",
    "customerReceipt": "SUR TECHNOLOGY HOLDINGS\\n8320 S HARDY DRIVE\\nTEMPE AZ 85284\\n08/29/2017 13:26:24\\n\\nCREDIT - SALE\\n\\nCARD # : **** **** **** 5075\\nCARD TYPE : VISA\\nEntry Mode : MANUAL\\n\\nREF # : 13468992\\nInvoice number : 11518\\nAUTH CODE : TAS690\\nSubtotal:                       $14.88\\n--------------------------------------\\nTip:                            $10.00\\n--------------------------------------\\nTotal:                          $24.88\\n--------------------------------------\\n\\n\\n\\nMax Tom\\n\\nCUSTOMER ACKNOWLEDGES RECEIPT OF\\nGOODS AND/OR SERVICES IN THE AMOUNT\\nOF THE TOTAL SHOWN HEREON AND AGREES\\nTO PERFORM THE OBLIGATIONS SET FORTH\\nBY THE CUSTOMER`S AGREEMENT WITH THE\\nISSUER\\nAPPROVED\\n\\n\\n\\n\\nCustomer Copy\\n",
    "processorStatusCode": "A0000",
    "wasProcessed": true,
    "sale": {
        "guid": "4d35a3c2-cab9-4a3e-b148-9e3c9586c7e5",
        "status": "Transaction - Approved",
        "batchStatus": "Batch - Open",
        "timeStamp": "2017-08-29T14:26:07.98-03:00",
        "deviceGuid": "8ec1c40b-0c00-4a57-a9c7-7800bd52c308",
        "amount": 14.88,
        "effectiveAmount": 14.88,
        "orderNumber": "11518",
        "orderDate": "2017-02-03T00:00:00",
        "cardDataSource": "MANUAL",
        "customerLabel": "Patient",
        "businessName": "Star Shoes California",
        "customerID": "xt147",
        "batchGuid": "118104a1-ebdc-4d13-beba-aa264374e960",
        "processorStatusCode": "A0000",
        "processorResponseMessage": "Success",
        "wasProcessed": true,
        "authCode": "TAS690",
        "refNumber": "13468992",
        "invoiceNumber": "11518",
        "customerReceipt": "SUR TECHNOLOGY HOLDINGS\\n8320 S HARDY DRIVE\\nTEMPE AZ 85284\\n08/29/2017 13:26:09\\n\\nCREDIT - SALE\\n\\nCARD # : **** **** **** 5075\\nCARD TYPE : VISA\\nEntry Mode : MANUAL\\n\\nREF # : 13468992\\nInvoice number : 11518\\nAUTH CODE : TAS690\\nSubtotal:                       $14.88\\n--------------------------------------\\nTotal:                          $14.88\\n--------------------------------------\\n\\n\\n\\nMax Tom\\n\\nCUSTOMER ACKNOWLEDGES RECEIPT OF\\nGOODS AND/OR SERVICES IN THE AMOUNT\\nOF THE TOTAL SHOWN HEREON AND AGREES\\nTO PERFORM THE OBLIGATIONS SET FORTH\\nBY THE CUSTOMER`S AGREEMENT WITH THE\\nISSUER\\nAPPROVED\\n\\n\\n\\n\\nCustomer Copy\\n",
        "customData": "any data the merchant or the customer",
        "generatedBy": "maxwinston",
        "card": {
            "first4": "4024",
            "last4": "5075",
            "cardNumber": "ehcNs0CAee8p5075",
            "cardHolderName": "Max Tom",
            "expirationDate": "2019-07",
            "customer": {
                "guid": "d7476418-eb46-4757-8ab6-3e2b8c96beb4",
                "firstName": "Max",
                "lastName": "Tom",
                "dateOfBirth": "1987-07-07T00:00:00",
                "address1": "107 7th Av.",
                "address2": "",
                "zip": "10007",
                "city": "New York",
                "state": "NY",
                "country": "US",
                "phone": "9123475842",
                "email": "maxtom@mailinator.com",
                "ssN4": "1210",
                "driverLicenseNumber": "12345678",
                "driverLicenseState": "TX"
            }
        },
        "associateCustomerCard": true
    }
}

Sales by batch

GET/sales/Batch/<guid>

This endpoint searches all sales by batch.

Remember you will need to use an authentication token or the API Key in the header request for every transaction.

Headers using token

KeyValue
AuthorizationToken. Eg: "Bearer eHSN5rTBzqDozgAAlN1UlTMVuIT1zSiAZWCo6E..."

Headers using API Key

KeyValue
UserAuthorizationAPI Key. Eg: "e516b6db-3230-4b1c-ae3f-e5379b774a80"

URL Parameters

ParameterDescription
guidBatch’s guid to get
Request
curl -X GET https://apisandbox.surepay.co/api/v1/sales/Batch/<guid> \
  -H "Authorization: Bearer $SUREPAY_TOKEN"
Response
[
    {
        "guid": "46158f86-fd80-4383-a584-119775c6edf3",
        "status": "Transaction - Approved",
        "batchStatus": "Batch - Closed",
        "timeStamp": "2017-07-11T10:36:53.75",
        "deviceGuid": "8f65764d-72c1-4dee-ac9f-4cd4c98e8c35",
        "amount": 19.74,
        "effectiveAmount": 19.74,
        "orderNumber": "11518",
        "orderDate": "2017-02-03T00:00:00",
        "cardDataSource": "MANUAL",
        "customerLabel": "Patient",
        "businessName": "Star Shoes California",
        "customerID": "xt147",
        "batchGuid": "c368cc6c-ec9f-4f63-b90f-e72bf498babd",
        "processorStatusCode": "A0000",
        "processorResponseMessage": "Success",
        "wasProcessed": true,
        "authCode": "VTLMC1",
        "refNumber": "13283532",
        "invoiceNumber": "11518",
        "customerReceipt": "SUR TECHNOLOGY HOLDINGS\\n8320 S HARDY DRIVE\\nTEMPE AZ 85284\\n07/11/2017 06:36:57\\n\\nCREDIT - SALE\\n\\nCARD # : **** **** **** 0213\\nCARD TYPE :MASTERCARD\\nEntry Mode : MANUAL\\n\\nREF # : 13283532\\nInvoice number : 11518\\nAUTH CODE : VTLMC1\\nSubtotal:                       $19.00\\n--------------------------------------\\nTip:                            $0.74\\n--------------------------------------\\nTotal:                          $19.74\\n--------------------------------------\\n\\n\\n\\nJohn Doe\\n\\nCUSTOMER ACKNOWLEDGES RECEIPT OF\\nGOODS AND/OR SERVICES IN THE AMOUNT\\nOF THE TOTAL SHOWN HEREON AND AGREES\\nTO PERFORM THE OBLIGATIONS SET FORTH\\nBY THE CUSTOMER`S AGREEMENT WITH THE\\nISSUER\\nAPPROVED\\n\\n\\n\\n\\nCustomer Copy\\n",
        "customData": "order details",
        "generatedBy": "maxwinston",
        "card": {
            "first4": "5306",
            "last4": "0213",
            "cardNumber": "1zcGT7J4pkGh0213",
            "cardHolderName": "John Doe",
            "expirationDate": "2019-07",
            "customer": {
                "guid": "d1cf828d-3050-4e4c-b7cf-f4038d114d39",
                "firstName": "John",
                "lastName": "Doe",
                "phone": "9177563007",
                "city": "New York",
                "country": "US",
                "email": "johnd@mailinator.com",
                "zip": "10007",
                "address1": "107 7th Av.",
                "address2": "",
                "state": "NY",
                "dateOfBirth": "1987-07-07T00:00:00",
                "driverLicenseNumber": "12345678",
                "driverLicenseState": "TX",
                "ssN4": "1210"
            }
        },
        "associateCustomerCard": true
    }
]

Timeout Reversal

POST/sales/timeoutreversal

This a feature that allows a user to void a transaction if it never got a response. You must send the device guid of the terminal used to run the transaction and the sequence number. If there was a sale run on that device with that sequence and it was approved, it will be voided. Otherwise you will be informed that a sale was found but it had not been approved or that there was no sale at all with that combination of device guid and sequence number.

Remember you will need to use an authentication token or the API Key in the header request for every transaction.

Headers using token

KeyValue
Content-Type"application/json"
AuthorizationToken. Eg: "Bearer eHSN5rTBzqDozgAAlN1UlTMVuIT1zSiAZWCo6E..."

Headers using API Key

KeyValue
Content-Type"application/json"
UserAuthorizationAPI Key. Eg: "e516b6db-3230-4b1c-ae3f-e5379b774a80"

Query Parameters

ParameterTypeM/C/OValue
DeviceGuidstringMandatoryDevice's Guid.
SequenceNumberstringMandatorySequence Number.
Request
curl -X POST https://apisandbox.surepay.co/api/v1/sales/timeoutreversal \
  -H "Authorization: Bearer $SUREPAY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "DeviceGuid": "b29725af-b067-4a35-9819-bbb31bdf8808",
    "SequenceNumber": "849741"
}'
Response
"Device Guid and Sequence Number combination found and voided."

AuthOnly

Create AuthOnly

POST/AuthOnlys

You could use the AuthOnly transaction to authorize an amount on a credit card without making the actual settlement of that amount. In this case, you actually reserve an amount for a certain period against the credit limit of the card holder. The sale will be completed only if you run a successful capture later.

This endpoint creates an AuthOnly.

Remember you will need to use an authentication token or the API Key in the header request for every transaction.

Headers using token

KeyValue
Content-Type"application/json"
AuthorizationToken. Eg: "Bearer eHSN5rTBzqDozgAAlN1UlTMVuIT1zSiAZWCo6E..."

Headers using API Key

KeyValue
Content-Type"application/json"
UserAuthorizationAPI Key. Eg: "e516b6db-3230-4b1c-ae3f-e5379b774a80"

Query Parameters

ParameterTypeM/C/OValue
DeviceGuidstringMandatoryDevice's Guid.
AmountdecimalMandatoryAmount of the transaction. Min. amt.: $0.50
SequenceNumberstringOptionalUse this number to call timeout reversal endpoint if you don't get a response.
OrderNumberstringOptionalMerchant's order number. The value sent on this element will be returned as InvoiceNumber. Length = 17.
OrderDatedateOptionalOrder Date.
SendReceiptbooleanOptionalSet to “FALSE” if you do not want an e-mail receipt to be sent to the customer. Set to “TRUE” or leave empty if you want e-mail to be sent.
CustomDatastringOptionalorder details.
CustomerLabelstringOptionalAny name you want to show instead of customer. Eg., Player, Patient, Buyer.
CustomerIDstringOptionalAny combination of numbers and letters you use to identify the customer.
AssociateCustomerCardbooleanOptionalAn option to know if you want use to save customer and card token.
SemiIntegratedbooleanOptionalOnly when physical terminal used on semi integrated mode, send value True.
CardobjectMandatorySee Card.
EnhancedDataobjectOptionalSee EnhancedData.
Request
curl -X POST https://apisandbox.surepay.co/api/v1/AuthOnlys \
  -H "Authorization: Bearer $SUREPAY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "DeviceGuid" : "fde63679-0c47-4a9c-9b47-82cdf1929851",
  "Amount" : 90.00,
  "OrderNumber" : "11518",
  "OrderDate" : "2017-02-03",
  "SendReceipt" : "true",
  "CustomData" : "order details",
  "CustomerLabel" : "Patient",
  "CustomerId" : "xt147",
  "AssociateCustomerCard" : "true",
  "Card":
  {
    "CardNumber" : "5175526161474418",
    "CardHolderName" : "John Doe",
    "Cvv2" : "998",
    "ExpirationDate" : "1912",
    "Customer":
    {
      "FirstName" : "John",
      "LastName" : "Doe",
      "Phone" : "9177563006",
      "City" : "New York",
      "State" : "NY",
      "Country" : "US",
      "Email" : "johnd@mailinator.com",
      "Address1" : "106 6th Av.",
      "Address2" : "",
      "Zip" : "10006",
      "DateOfBirth" : "1986-06-06",
      "DriverLicenseNumber" : "12345678",
      "DriverLicenseState" : "TX",
      "SSN4" : "1210"
    }
  }
}'
Response
{
    "guid": "c8741761-10fe-4530-be84-b1289dcdb9a7",
    "status": "Transaction - Approved",
    "batchStatus": "Batch - Open",
    "timeStamp": "2017-07-11T10:51:39.73",
    "amount": 90,
    "effectiveAmount": 90,
    "orderNumber": "11518",
    "orderDate": "2017-02-03T00:00:00",
    "deviceGuid": "8f65764d-72c1-4dee-ac9f-4cd4c98e8c35",
    "customData": "order details",
    "cardDataSource": "MANUAL",
    "customerLabel": "Patient",
    "businessName": "Star Shoes California",
    "customerID": "xt147",
    "batchGuid": "1564cb1b-eddb-4747-9565-61a7d7d225f9",
    "processorStatusCode": "A0002",
    "processorResponseMessage": "Partially Approved",
    "wasProcessed": true,
    "authCode": "VTLMC1",
    "refNumber": "13283616",
    "invoiceNumber": "11518",
    "customerReceipt": "SUR TECHNOLOGY HOLDINGS\\n8320 S HARDY DRIVE\\nTEMPE AZ 85284\\n07/11/2017 06:51:43\\n\\nCREDIT - AUTH ONLY\\n\\nCARD # : **** **** **** 4418\\nCARD TYPE :MASTERCARD\\nEntry Mode : MANUAL\\n\\nREF # : 13283616\\nInvoice number : 11518\\nAUTH CODE : VTLMC1\\nSubtotal:                       $90.00\\n--------------------------------------\\nTotal:                          $90.00\\n--------------------------------------\\n\\n\\n\\nJohn Doe\\n\\nCUSTOMER ACKNOWLEDGES RECEIPT OF\\nGOODS AND/OR SERVICES IN THE AMOUNT\\nOF THE TOTAL SHOWN HEREON AND AGREES\\nTO PERFORM THE OBLIGATIONS SET FORTH\\nBY THE CUSTOMER`S AGREEMENT WITH THE\\nISSUER\\nPartially Approved\\n\\n\\n\\n\\nCustomer Copy\\n",
    "card": {
        "first4": "5175",
        "last4": "4418",
        "cardNumber": "dfTsPKwGQIUf4418",
        "cardHolderName": "John Doe",
        "expirationDate": "2019-12",
        "customer": {
            "guid": "53d38181-c766-48bd-acb7-37c12b6ddbeb",
            "firstName": "John",
            "lastName": "Doe",
            "phone": "9177563006",
            "city": "New York",
            "country": "US",
            "email": "johnd@mailinator.com",
            "zip": "10006",
            "address1": "106 6th Av.",
            "address2": "",
            "state": "NY",
            "dateOfBirth": "1986-06-06T00:00:00",
            "driverLicenseNumber": "12345678",
            "driverLicenseState": "TX",
            "ssN4": "1210"
        }
    },
    "associateCustomerCard": true
}

Get AuthOnly

GET/AuthOnlys/<guid>

This endpoint gets an AuthOnly.

Remember you will need to use an authentication token or the API Key in the header request for every transaction.

Headers using token

KeyValue
AuthorizationToken. Eg: "Bearer eHSN5rTBzqDozgAAlN1UlTMVuIT1zSiAZWCo6E..."

Headers using API Key

KeyValue
UserAuthorizationAPI Key. Eg: "e516b6db-3230-4b1c-ae3f-e5379b774a80"

URL Parameters

ParameterDescription
guidAuthOnly’s guid to get
Request
curl -X GET https://apisandbox.surepay.co/api/v1/AuthOnlys/<guid> \
  -H "Authorization: Bearer $SUREPAY_TOKEN"
Response
{
    "guid": "c8741761-10fe-4530-be84-b1289dcdb9a7",
    "status": "Transaction - Approved",
    "batchStatus": "Batch - Open",
    "timeStamp": "2017-07-11T10:51:39.73",
    "amount": 90,
    "effectiveAmount": 90,
    "orderNumber": "11518",
    "orderDate": "2017-02-03T00:00:00",
    "deviceGuid": "8f65764d-72c1-4dee-ac9f-4cd4c98e8c35",
    "customData": "order details",
    "cardDataSource": "MANUAL",
    "customerLabel": "Patient",
    "customerID": "xt147",
    "batchGuid": "1564cb1b-eddb-4747-9565-61a7d7d225f9",
    "processorStatusCode": "A0002",
    "processorResponseMessage": "Partially Approved",
    "wasProcessed": true,
    "authCode": "VTLMC1",
    "refNumber": "13283616",
    "invoiceNumber": "11518",
    "customerReceipt": "SUR TECHNOLOGY HOLDINGS\\n8320 S HARDY DRIVE\\nTEMPE AZ 85284\\n07/11/2017 06:51:43\\n\\nCREDIT - AUTH ONLY\\n\\nCARD # : **** **** **** 4418\\nCARD TYPE :MASTERCARD\\nEntry Mode : MANUAL\\n\\nREF # : 13283616\\nInvoice number : 11518\\nAUTH CODE : VTLMC1\\nSubtotal:                       $90.00\\n--------------------------------------\\nTotal:                          $90.00\\n--------------------------------------\\n\\n\\n\\nJohn Doe\\n\\nCUSTOMER ACKNOWLEDGES RECEIPT OF\\nGOODS AND/OR SERVICES IN THE AMOUNT\\nOF THE TOTAL SHOWN HEREON AND AGREES\\nTO PERFORM THE OBLIGATIONS SET FORTH\\nBY THE CUSTOMER`S AGREEMENT WITH THE\\nISSUER\\nPartially Approved\\n\\n\\n\\n\\nCustomer Copy\\n",
    "card": {
        "first4": "5175",
        "last4": "4418",
        "cardNumber": "dfTsPKwGQIUf4418",
        "cardHolderName": "John Doe",
        "expirationDate": "2019-12",
        "customer": {
            "guid": "53d38181-c766-48bd-acb7-37c12b6ddbeb",
            "firstName": "John",
            "lastName": "Doe",
            "phone": "9177563006",
            "city": "New York",
            "country": "US",
            "email": "johnd@mailinator.com",
            "zip": "10006",
            "address1": "106 6th Av.",
            "address2": "",
            "state": "NY",
            "dateOfBirth": "1986-06-06T00:00:00",
            "driverLicenseNumber": "12345678",
            "driverLicenseState": "TX",
            "ssN4": "1210"
        }
    },
    "associateCustomerCard": true
}

Timeout Reversal

POST/AuthOnlys/timeoutreversal

This a feature that allows a user to void a transaction if it never got a response. You must send the device guid of the terminal used to run the transaction and the sequence number. If there was a sale run on that device with that sequence and it was approved, it will be voided. Otherwise you will be informed that a sale was found but it had not been approved or that there was no sale at all with that combination of device guid and sequence number.

Remember you will need to use an authentication token or the API Key in the header request for every transaction.

Headers using token

KeyValue
Content-Type"application/json"
AuthorizationToken. Eg: "Bearer eHSN5rTBzqDozgAAlN1UlTMVuIT1zSiAZWCo6E..."

Headers using API Key

KeyValue
Content-Type"application/json"
UserAuthorizationAPI Key. Eg: "e516b6db-3230-4b1c-ae3f-e5379b774a80"

Query Parameters

ParameterTypeM/C/OValue
DeviceGuidstringMandatoryDevice's Guid.
SequenceNumberstringMandatorySequence Number.
Request
curl -X POST https://apisandbox.surepay.co/api/v1/AuthOnlys/timeoutreversal \
  -H "Authorization: Bearer $SUREPAY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "DeviceGuid": "b29725af-b067-4a35-9819-bbb31bdf8808",
    "SequenceNumber": "849741"
}'
Response
"Device Guid and Sequence Number combination found and voided."

Capture

Create capture

POST/Captures

The Capture transaction is used to collect the money that you had asked during the AuthOnly transaction. You need to provide the AuthOnlyGuid that you received when you ran the AuthOnly.

This endpoint creates a capture.

Remember you will need to use an authentication token or the API Key in the header request for every transaction.

Headers using token

KeyValue
Content-Type"application/json"
AuthorizationToken. Eg: "Bearer eHSN5rTBzqDozgAAlN1UlTMVuIT1zSiAZWCo6E..."

Headers using API Key

KeyValue
Content-Type"application/json"
UserAuthorizationAPI Key. Eg: "e516b6db-3230-4b1c-ae3f-e5379b774a80"

Query Parameters

ParameterTypeM/C/OValue
DeviceGuidstringMandatoryDevice’s Guid.
AuthOnlyGuidstringMandatoryAuthOnly’s Guid.
NewAmountdecimalOptionalTransaction's new amount. Min. amt.: $0.50
Request
curl -X POST https://apisandbox.surepay.co/api/v1/Captures \
  -H "Authorization: Bearer $SUREPAY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "DeviceGuid" : "4b5013f7-b275-4929-8e83-0167c6edf639",
  "AuthOnlyGuid" : "c8741761-10fe-4530-be84-b1289dcdb9a7",
  "NewAmount" : 90.00
}'
Response
{
    "guid": "cf05ed0a-f9df-4e62-b613-61323a37c14e",
    "status": "Transaction - Approved",
    "batchStatus": "Batch - Open",
    "timeStamp": "2017-07-11T10:58:25.95",
    "deviceGuid": "8f65764d-72c1-4dee-ac9f-4cd4c98e8c35",
    "authOnlyGuid": "539e87eb-54a2-44da-8980-62667d81d95c",
    "newAmount": 90,
    "effectiveAmount": 90,
    "batchGuid": "1564cb1b-eddb-4747-9565-61a7d7d225f9",
    "processorStatusCode": "A0000",
    "processorResponseMessage": "Success",
    "wasProcessed": true,
    "refNumber": "13283616",
    "invoiceNumber": "11518",
    "customerReceipt": "SUR TECHNOLOGY HOLDINGS\\n8320 S HARDY DRIVE\\nTEMPE AZ 85284\\n07/11/2017 06:58:29\\n\\nCREDIT - SALE\\n\\nCARD # : **** **** **** 4418\\nCARD TYPE :MASTERCARD\\nEntry Mode : MANUAL\\n\\nREF # : 13283616\\nInvoice number : 11518\\nAUTH CODE : VTLMC1\\nSubtotal:                       $90.00\\n--------------------------------------\\nTotal:                          $90.00\\n--------------------------------------\\n\\n\\n\\nJohn Doe\\n\\nCUSTOMER ACKNOWLEDGES RECEIPT OF\\nGOODS AND/OR SERVICES IN THE AMOUNT\\nOF THE TOTAL SHOWN HEREON AND AGREES\\nTO PERFORM THE OBLIGATIONS SET FORTH\\nBY THE CUSTOMER`S AGREEMENT WITH THE\\nISSUER\\nAPPROVED\\n\\n\\n\\n\\nCustomer Copy\\n",
    "authOnly": {
        "guid": "539e87eb-54a2-44da-8980-62667d81d95c",
        "status": "Transaction - Approved",
        "batchStatus": "Batch - Open",
        "timeStamp": "2017-07-11T10:51:39.73",
        "amount": 90,
        "effectiveAmount": 90,
        "orderNumber": "11518",
        "orderDate": "2017-02-03T00:00:00",
        "deviceGuid": "8f65764d-72c1-4dee-ac9f-4cd4c98e8c35",
        "customData": "order details",
        "batchGuid": "1564cb1b-eddb-4747-9565-61a7d7d225f9",
        "processorStatusCode": "A0002",
        "processorResponseMessage": "Partially Approved",
        "wasProcessed": true,
        "authCode": "VTLMC1",
        "refNumber": "13283616",
        "invoiceNumber": "11518",
        "customerReceipt": "SUR TECHNOLOGY HOLDINGS\\n8320 S HARDY DRIVE\\nTEMPE AZ 85284\\n07/11/2017 06:51:43\\n\\nCREDIT - AUTH ONLY\\n\\nCARD # : **** **** **** 4418\\nCARD TYPE :MASTERCARD\\nEntry Mode : MANUAL\\n\\nREF # : 13283616\\nInvoice number : 11518\\nAUTH CODE : VTLMC1\\nSubtotal:                       $90.00\\n--------------------------------------\\nTotal:                          $90.00\\n--------------------------------------\\n\\n\\n\\nJohn Doe\\n\\nCUSTOMER ACKNOWLEDGES RECEIPT OF\\nGOODS AND/OR SERVICES IN THE AMOUNT\\nOF THE TOTAL SHOWN HEREON AND AGREES\\nTO PERFORM THE OBLIGATIONS SET FORTH\\nBY THE CUSTOMER`S AGREEMENT WITH THE\\nISSUER\\nPartially Approved\\n\\n\\n\\n\\nCustomer Copy\\n",
        "card": {
            "first4": "5175",
            "last4": "4418",
            "cardNumber": "dfTsPKwGQIUf4418",
            "cardHolderName": "John Doe",
            "expirationDate": "2019-12",
            "customer": {
                "guid": "53d38181-c766-48bd-acb7-37c12b6ddbeb",
                "firstName": "John",
                "lastName": "Doe",
                "phone": "9177563006",
                "city": "New York",
                "country": "US",
                "email": "johnd@mailinator.com",
                "zip": "10006",
                "address1": "106 6th Av.",
                "address2": "",
                "state": "NY",
                "dateOfBirth": "1986-06-06T00:00:00",
                "driverLicenseNumber": "12345678",
                "driverLicenseState": "TX",
                "ssN4": "1210"
            }
        }
    },
    "relatedSale": {
        "guid": "34f87b4e-3345-4c01-96de-c4257c38e822",
        "status": "Transaction - Approved",
        "batchStatus": "Batch - Open",
        "timeStamp": "2017-07-11T10:58:27.37",
        "deviceGuid": "8f65764d-72c1-4dee-ac9f-4cd4c98e8c35",
        "amount": 90,
        "effectiveAmount": 90,
        "batchGuid": "1564cb1b-eddb-4747-9565-61a7d7d225f9",
        "wasProcessed": true
    }
}

Get capture

GET/Captures/<guid>

This endpoint gets a capture.

Remember you will need to use an authentication token or the API Key in the header request for every transaction.

Headers using token

KeyValue
AuthorizationToken. Eg: "Bearer eHSN5rTBzqDozgAAlN1UlTMVuIT1zSiAZWCo6E..."

Headers using API Key

KeyValue
UserAuthorizationAPI Key. Eg: "e516b6db-3230-4b1c-ae3f-e5379b774a80"

URL Parameters

ParameterDescription
guidCapture’s guid to get
Request
curl -X GET https://apisandbox.surepay.co/api/v1/Captures/<guid> \
  -H "Authorization: Bearer $SUREPAY_TOKEN"
Response
{
    "guid": "cf05ed0a-f9df-4e62-b613-61323a37c14e",
    "status": "Transaction - Approved",
    "batchStatus": "Batch - Open",
    "timeStamp": "2017-07-11T10:58:25.95",
    "deviceGuid": "8f65764d-72c1-4dee-ac9f-4cd4c98e8c35",
    "authOnlyGuid": "539e87eb-54a2-44da-8980-62667d81d95c",
    "newAmount": 90,
    "effectiveAmount": 90,
    "batchGuid": "1564cb1b-eddb-4747-9565-61a7d7d225f9",
    "processorStatusCode": "A0000",
    "processorResponseMessage": "Success",
    "wasProcessed": true,
    "refNumber": "13283616",
    "invoiceNumber": "11518",
    "customerReceipt": "SUR TECHNOLOGY HOLDINGS\\n8320 S HARDY DRIVE\\nTEMPE AZ 85284\\n07/11/2017 06:58:29\\n\\nCREDIT - SALE\\n\\nCARD # : **** **** **** 4418\\nCARD TYPE :MASTERCARD\\nEntry Mode : MANUAL\\n\\nREF # : 13283616\\nInvoice number : 11518\\nAUTH CODE : VTLMC1\\nSubtotal:                       $90.00\\n--------------------------------------\\nTotal:                          $90.00\\n--------------------------------------\\n\\n\\n\\nJohn Doe\\n\\nCUSTOMER ACKNOWLEDGES RECEIPT OF\\nGOODS AND/OR SERVICES IN THE AMOUNT\\nOF THE TOTAL SHOWN HEREON AND AGREES\\nTO PERFORM THE OBLIGATIONS SET FORTH\\nBY THE CUSTOMER`S AGREEMENT WITH THE\\nISSUER\\nAPPROVED\\n\\n\\n\\n\\nCustomer Copy\\n",
    "authOnly": {
        "guid": "539e87eb-54a2-44da-8980-62667d81d95c",
        "status": "Transaction - Approved",
        "batchStatus": "Batch - Open",
        "timeStamp": "2017-07-11T10:51:39.73",
        "amount": 90,
        "effectiveAmount": 90,
        "orderNumber": "11518",
        "orderDate": "2017-02-03T00:00:00",
        "deviceGuid": "8f65764d-72c1-4dee-ac9f-4cd4c98e8c35",
        "customData": "order details",
        "batchGuid": "1564cb1b-eddb-4747-9565-61a7d7d225f9",
        "processorStatusCode": "A0002",
        "processorResponseMessage": "Partially Approved",
        "wasProcessed": true,
        "authCode": "VTLMC1",
        "refNumber": "13283616",
        "invoiceNumber": "11518",
        "customerReceipt": "SUR TECHNOLOGY HOLDINGS\\n8320 S HARDY DRIVE\\nTEMPE AZ 85284\\n07/11/2017 06:51:43\\n\\nCREDIT - AUTH ONLY\\n\\nCARD # : **** **** **** 4418\\nCARD TYPE :MASTERCARD\\nEntry Mode : MANUAL\\n\\nREF # : 13283616\\nInvoice number : 11518\\nAUTH CODE : VTLMC1\\nSubtotal:                       $90.00\\n--------------------------------------\\nTotal:                          $90.00\\n--------------------------------------\\n\\n\\n\\nJohn Doe\\n\\nCUSTOMER ACKNOWLEDGES RECEIPT OF\\nGOODS AND/OR SERVICES IN THE AMOUNT\\nOF THE TOTAL SHOWN HEREON AND AGREES\\nTO PERFORM THE OBLIGATIONS SET FORTH\\nBY THE CUSTOMER`S AGREEMENT WITH THE\\nISSUER\\nPartially Approved\\n\\n\\n\\n\\nCustomer Copy\\n",
        "card": {
            "first4": "5175",
            "last4": "4418",
            "cardNumber": "dfTsPKwGQIUf4418",
            "cardHolderName": "John Doe",
            "expirationDate": "2019-12",
            "customer": {
                "guid": "53d38181-c766-48bd-acb7-37c12b6ddbeb",
                "firstName": "John",
                "lastName": "Doe",
                "phone": "9177563006",
                "city": "New York",
                "country": "US",
                "email": "johnd@mailinator.com",
                "zip": "10006",
                "address1": "106 6th Av.",
                "address2": "",
                "state": "NY",
                "dateOfBirth": "1986-06-06T00:00:00",
                "driverLicenseNumber": "12345678",
                "driverLicenseState": "TX",
                "ssN4": "1210"
            }
        }
    },
    "relatedSale": {
        "guid": "34f87b4e-3345-4c01-96de-c4257c38e822",
        "status": "Transaction - Approved",
        "batchStatus": "Batch - Open",
        "timeStamp": "2017-07-11T10:58:27.37",
        "deviceGuid": "8f65764d-72c1-4dee-ac9f-4cd4c98e8c35",
        "amount": 90,
        "effectiveAmount": 90,
        "batchGuid": "1564cb1b-eddb-4747-9565-61a7d7d225f9",
        "wasProcessed": true
    }
}

Void

Create void

POST/void

You can run a Void when you need to cancel a sale that has not been settled yet or an authOnly. To void a sale you need to provide the SaleGuid or SaleReferenceNumber that you received when you ran the Sale. To void an authOnly you need to provide the AuthOnlyGuid or AuthOnlyReferenceNumber that you received when you ran the authOnly.

This endpoint creates a void.

Note: Send either SaleGuid, SaleReferenceNumber, AuthOnlyGuid or AuthOnlyReferenceNumber field in a request.

Remember you will need to use an authentication token or the API Key in the header request for every transaction.

Headers using token

KeyValue
Content-Type"application/json"
AuthorizationToken. Eg: "Bearer eHSN5rTBzqDozgAAlN1UlTMVuIT1zSiAZWCo6E..."

Headers using API Key

KeyValue
Content-Type"application/json"
UserAuthorizationAPI Key. Eg: "e516b6db-3230-4b1c-ae3f-e5379b774a80"

Query Parameters

ParameterTypeM/C/OValue
DeviceGuidstringMandatoryDevice’s Guid.
SaleGuidstringConditionalSale’s Guid. Mandatory when SaleReferenceNumber, AuthOnlyGuid and AuthOnlyReferenceNumber field are not sent.
SaleReferenceNumberintegerConditionalSaleReferenceNumber. Mandatory when SaleGuid, AuthOnlyGuid and AuthOnlyReferenceNumber field are not sent.
AuthOnlyGuidstringConditionalAuthOnlyGuid’s Guid. Mandatory when SaleGuid, SaleReferenceNumber and AuthOnlyReferenceNumber field are not sent.
AuthOnlyReferenceNumberintegerConditionalAuthOnlyReferenceNumber. Mandatory when SaleGuid, SaleReferenceNumber and AuthOnlyGuid field are not sent.
VoidReasonstringOptionalIndicates the reason the transaction was voided. Allowed values: 1. POST_AUTH_USER_DECLINE 2. DEVICE_TIMEOUT 3. DEVICE_UNAVAILABLE 4. PARTIAL_REVERSAL 5. POST_AUTH_CHIP_DECLINE
Request
curl -X POST https://apisandbox.surepay.co/api/v1/void \
  -H "Authorization: Bearer $SUREPAY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "DeviceGuid" : "4b5013f7-b275-4929-8e83-0167c6edf639",
  "SaleGuid": "c5ac2017-99cb-4b1f-a90e-142cc82b21e5",
  "VoidReason": "DEVICE_TIMEOUT"
}'
Response
{
    "guid": "7a4ef786-8288-404d-9340-e837d06784af",
    "batchStatus": "Batch - Open",
    "timeStamp": "2017-07-11T11:05:46.31",
    "deviceGuid": "8f65764d-72c1-4dee-ac9f-4cd4c98e8c35",
    "saleGuid": "bfff1a26-4207-4871-9597-48282e3fcfea",
    "status": "Transaction - Approved",
    "voidReason": "DEVICE_TIMEOUT",
    "processorStatusCode": "A0000",
    "wasProcessed": true,
    "batchGuid": "1564cb1b-eddb-4747-9565-61a7d7d225f9",
    "authCode": "VTLMC1",
    "refNumber": "13283644",
    "invoiceNumber": "11518",
    "customerReceipt": "SUR TECHNOLOGY HOLDINGS\\n8320 S HARDY DRIVE\\nTEMPE AZ 85284\\n07/11/2017 07:05:50\\n\\nCREDIT - VOID\\n\\nCARD # : **** **** **** 0213\\nCARD TYPE :MASTERCARD\\nEntry Mode : MANUAL\\n\\nREF # : 13283644\\nInvoice number : 11518\\n\\nVoid Amount:                    $19.74\\n--------------------------------------\\n\\n\\n\\nJohn Doe\\n\\nCUSTOMER ACKNOWLEDGES RECEIPT OF\\nGOODS AND/OR SERVICES IN THE AMOUNT\\nOF THE TOTAL SHOWN HEREON AND AGREES\\nTO PERFORM THE OBLIGATIONS SET FORTH\\nBY THE CUSTOMER`S AGREEMENT WITH THE\\nISSUER\\nAPPROVED\\n\\n\\n\\n\\nCustomer Copy\\n",
    "sale": {
        "guid": "bfff1a26-4207-4871-9597-48282e3fcfea",
        "status": "Transaction - Approved",
        "batchStatus": "Batch - Open",
        "timeStamp": "2017-07-11T11:05:24.65",
        "deviceGuid": "8f65764d-72c1-4dee-ac9f-4cd4c98e8c35",
        "amount": 19.74,
        "effectiveAmount": 0,
        "orderNumber": "11518",
        "orderDate": "2017-02-03T00:00:00",
        "batchGuid": "1564cb1b-eddb-4747-9565-61a7d7d225f9",
        "processorStatusCode": "A0000",
        "processorResponseMessage": "Success",
        "wasProcessed": true,
        "authCode": "VTLMC1",
        "refNumber": "13283644",
        "invoiceNumber": "11518",
        "customerReceipt": "SUR TECHNOLOGY HOLDINGS\\n8320 S HARDY DRIVE\\nTEMPE AZ 85284\\n07/11/2017 07:05:27\\n\\nCREDIT - SALE\\n\\nCARD # : **** **** **** 0213\\nCARD TYPE :MASTERCARD\\nEntry Mode : MANUAL\\n\\nREF # : 13283644\\nInvoice number : 11518\\nAUTH CODE : VTLMC1\\nSubtotal:                       $19.74\\n--------------------------------------\\nTotal:                          $19.74\\n--------------------------------------\\n\\n\\n\\nJohn Doe\\n\\nCUSTOMER ACKNOWLEDGES RECEIPT OF\\nGOODS AND/OR SERVICES IN THE AMOUNT\\nOF THE TOTAL SHOWN HEREON AND AGREES\\nTO PERFORM THE OBLIGATIONS SET FORTH\\nBY THE CUSTOMER`S AGREEMENT WITH THE\\nISSUER\\nAPPROVED\\n\\n\\n\\n\\nCustomer Copy\\n",
        "customData": "order details",
        "card": {
            "first4": "5306",
            "last4": "0213",
            "cardNumber": "1zcGT7J4pkGh0213",
            "cardHolderName": "John Doe",
            "expirationDate": "2019-07",
            "customer": {
                "guid": "d1cf828d-3050-4e4c-b7cf-f4038d114d39",
                "firstName": "John",
                "lastName": "Doe",
                "phone": "9177563007",
                "city": "New York",
                "country": "US",
                "email": "johnd@mailinator.com",
                "zip": "10007",
                "address1": "107 7th Av.",
                "address2": "",
                "state": "NY",
                "dateOfBirth": "1987-07-07T00:00:00",
                "driverLicenseNumber": "12345678",
                "driverLicenseState": "TX",
                "ssN4": "1210"
            }
        }
    }
}

Get void

GET/void/<guid>

This endpoint gets a void.

Remember you will need to use an authentication token or the API Key in the header request for every transaction.

Headers using token

KeyValue
AuthorizationToken. Eg: "Bearer eHSN5rTBzqDozgAAlN1UlTMVuIT1zSiAZWCo6E..."

Headers using API Key

KeyValue
UserAuthorizationAPI Key. Eg: "e516b6db-3230-4b1c-ae3f-e5379b774a80"

URL Parameters

ParameterDescription
guidVoid’s guid to get
Request
curl -X GET https://apisandbox.surepay.co/api/v1/void/<guid> \
  -H "Authorization: Bearer $SUREPAY_TOKEN"
Response
{
    "guid": "7a4ef786-8288-404d-9340-e837d06784af",
    "batchStatus": "Batch - Open",
    "timeStamp": "2017-07-11T11:05:46.31",
    "deviceGuid": "8f65764d-72c1-4dee-ac9f-4cd4c98e8c35",
    "saleGuid": "bfff1a26-4207-4871-9597-48282e3fcfea",
    "status": "Transaction - Approved",
    "voidReason": "DEVICE_TIMEOUT",
    "processorStatusCode": "A0000",
    "wasProcessed": true,
    "batchGuid": "1564cb1b-eddb-4747-9565-61a7d7d225f9",
    "authCode": "VTLMC1",
    "refNumber": "13283644",
    "invoiceNumber": "11518",
    "customerReceipt": "SUR TECHNOLOGY HOLDINGS\\n8320 S HARDY DRIVE\\nTEMPE AZ 85284\\n07/11/2017 07:05:50\\n\\nCREDIT - VOID\\n\\nCARD # : **** **** **** 0213\\nCARD TYPE :MASTERCARD\\nEntry Mode : MANUAL\\n\\nREF # : 13283644\\nInvoice number : 11518\\n\\nVoid Amount:                    $19.74\\n--------------------------------------\\n\\n\\n\\nJohn Doe\\n\\nCUSTOMER ACKNOWLEDGES RECEIPT OF\\nGOODS AND/OR SERVICES IN THE AMOUNT\\nOF THE TOTAL SHOWN HEREON AND AGREES\\nTO PERFORM THE OBLIGATIONS SET FORTH\\nBY THE CUSTOMER`S AGREEMENT WITH THE\\nISSUER\\nAPPROVED\\n\\n\\n\\n\\nCustomer Copy\\n",
    "sale": {
        "guid": "bfff1a26-4207-4871-9597-48282e3fcfea",
        "status": "Transaction - Approved",
        "batchStatus": "Batch - Open",
        "timeStamp": "2017-07-11T11:05:24.65",
        "deviceGuid": "8f65764d-72c1-4dee-ac9f-4cd4c98e8c35",
        "amount": 19.74,
        "effectiveAmount": 0,
        "orderNumber": "11518",
        "orderDate": "2017-02-03T00:00:00",
        "batchGuid": "1564cb1b-eddb-4747-9565-61a7d7d225f9",
        "processorStatusCode": "A0000",
        "processorResponseMessage": "Success",
        "wasProcessed": true,
        "authCode": "VTLMC1",
        "refNumber": "13283644",
        "invoiceNumber": "11518",
        "customerReceipt": "SUR TECHNOLOGY HOLDINGS\\n8320 S HARDY DRIVE\\nTEMPE AZ 85284\\n07/11/2017 07:05:27\\n\\nCREDIT - SALE\\n\\nCARD # : **** **** **** 0213\\nCARD TYPE :MASTERCARD\\nEntry Mode : MANUAL\\n\\nREF # : 13283644\\nInvoice number : 11518\\nAUTH CODE : VTLMC1\\nSubtotal:                       $19.74\\n--------------------------------------\\nTotal:                          $19.74\\n--------------------------------------\\n\\n\\n\\nJohn Doe\\n\\nCUSTOMER ACKNOWLEDGES RECEIPT OF\\nGOODS AND/OR SERVICES IN THE AMOUNT\\nOF THE TOTAL SHOWN HEREON AND AGREES\\nTO PERFORM THE OBLIGATIONS SET FORTH\\nBY THE CUSTOMER`S AGREEMENT WITH THE\\nISSUER\\nAPPROVED\\n\\n\\n\\n\\nCustomer Copy\\n",
        "customData": "order details",
        "card": {
            "first4": "5306",
            "last4": "0213",
            "cardNumber": "1zcGT7J4pkGh0213",
            "cardHolderName": "John Doe",
            "expirationDate": "2019-07",
            "customer": {
                "guid": "d1cf828d-3050-4e4c-b7cf-f4038d114d39",
                "firstName": "John",
                "lastName": "Doe",
                "phone": "9177563007",
                "city": "New York",
                "country": "US",
                "email": "johnd@mailinator.com",
                "zip": "10007",
                "address1": "107 7th Av.",
                "address2": "",
                "state": "NY",
                "dateOfBirth": "1987-07-07T00:00:00",
                "driverLicenseNumber": "12345678",
                "driverLicenseState": "TX",
                "ssN4": "1210"
            }
        }
    }
}

Return

Create return

POST/returns

You can run a Return transaction when you need to refund either a partial or the full amount of a sale that has been settled. The Return amount doesn’t need to be the same as the total amount originally charged in the sale. To refund a sale you need to provide the SaleGuid or SaleReferenceNumber that you received when you ran the Sale.

This endpoint creates a return.

Note: Send either SaleGuid or SaleReferenceNumber field in a request.

Remember you will need to use an authentication token or the API Key in the header request for every transaction.

Headers using token

KeyValue
Content-Type"application/json"
AuthorizationToken. Eg: "Bearer eHSN5rTBzqDozgAAlN1UlTMVuIT1zSiAZWCo6E..."

Headers using API Key

KeyValue
Content-Type"application/json"
UserAuthorizationAPI Key. Eg: "e516b6db-3230-4b1c-ae3f-e5379b774a80"

Query Parameters

ParameterTypeM/C/OValue
DeviceGuidstringMandatoryDevice’s Guid.
SaleGuidstringConditionalSale’s Guid. Mandatory when SaleReferenceNumber field is not sent.
SaleReferenceNumberintegerConditionalSaleReferenceNumber. Mandatory when SaleGuid field is not sent.
AmountdecimalMandatoryTransaction's amount. Min. amt.: $0.50
StatementDescriptionstringOptionalCustom description to be displayed on the card holder statement.
Request
curl -X POST https://apisandbox.surepay.co/api/v1/returns \
  -H "Authorization: Bearer $SUREPAY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "DeviceGuid" : "4b5013f7-b275-4929-8e83-0167c6edf639",
  "SaleGuid": "41881e9c-f238-4ff7-8cba-3684bbb8bada",
  "Amount": 19.74
}'
Response
{
    "guid": "4f31b350-edd1-49fd-a1ad-4b065f78d7b9",
    "batchStatus": "Batch - Open",
    "timeStamp": "2017-07-11T11:10:38.11",
    "deviceGuid": "8f65764d-72c1-4dee-ac9f-4cd4c98e8c35",
    "saleGuid": "ded98ad3-0553-4607-b84c-1bbd85f474d5",
    "status": "Transaction - Approved",
    "amount": 19.74,
    "batchGuid": "450463e0-5050-4c33-8c2f-4e39a2dd8614",
    "processorStatusCode": "A0014",
    "wasProcessed": true,
    "authCode": "VTLMC1",
    "refNumber": "13283670",
    "invoiceNumber": "11518",
    "customerReceipt": "SUR TECHNOLOGY HOLDINGS\\n8320 S HARDY DRIVE\\nTEMPE AZ 85284\\n07/11/2017 07:10:42\\n\\nCREDIT - VOID\\n\\nCARD # : **** **** **** 0213\\nCARD TYPE :MASTERCARD\\nEntry Mode : MANUAL\\n\\nREF # : 13283670\\nInvoice number : 11518\\n\\nVoid Amount:                    $19.74\\n--------------------------------------\\n\\n\\n\\nJohn Doe\\n\\nCUSTOMER ACKNOWLEDGES RECEIPT OF\\nGOODS AND/OR SERVICES IN THE AMOUNT\\nOF THE TOTAL SHOWN HEREON AND AGREES\\nTO PERFORM THE OBLIGATIONS SET FORTH\\nBY THE CUSTOMER`S AGREEMENT WITH THE\\nISSUER\\nAPPROVED\\n\\n\\n\\n\\nCustomer Copy\\n",
    "sale": {
        "guid": "ded98ad3-0553-4607-b84c-1bbd85f474d5",
        "status": "Transaction - Approved",
        "batchStatus": "Batch - Closed",
        "timeStamp": "2017-07-11T11:09:53.5",
        "deviceGuid": "8f65764d-72c1-4dee-ac9f-4cd4c98e8c35",
        "amount": 19.74,
        "effectiveAmount": 0,
        "orderNumber": "11518",
        "orderDate": "2017-02-03T00:00:00",
        "batchGuid": "1564cb1b-eddb-4747-9565-61a7d7d225f9",
        "processorStatusCode": "A0000",
        "processorResponseMessage": "Success",
        "wasProcessed": true,
        "authCode": "VTLMC1",
        "refNumber": "13283670",
        "invoiceNumber": "11518",
        "customerReceipt": "SUR TECHNOLOGY HOLDINGS\\n8320 S HARDY DRIVE\\nTEMPE AZ 85284\\n07/11/2017 07:09:56\\n\\nCREDIT - SALE\\n\\nCARD # : **** **** **** 0213\\nCARD TYPE :MASTERCARD\\nEntry Mode : MANUAL\\n\\nREF # : 13283670\\nInvoice number : 11518\\nAUTH CODE : VTLMC1\\nSubtotal:                       $19.74\\n--------------------------------------\\nTotal:                          $19.74\\n--------------------------------------\\n\\n\\n\\nJohn Doe\\n\\nCUSTOMER ACKNOWLEDGES RECEIPT OF\\nGOODS AND/OR SERVICES IN THE AMOUNT\\nOF THE TOTAL SHOWN HEREON AND AGREES\\nTO PERFORM THE OBLIGATIONS SET FORTH\\nBY THE CUSTOMER`S AGREEMENT WITH THE\\nISSUER\\nAPPROVED\\n\\n\\n\\n\\nCustomer Copy\\n",
        "customData": "order details",
        "card": {
            "first4": "5306",
            "last4": "0213",
            "cardNumber": "1zcGT7J4pkGh0213",
            "cardHolderName": "John Doe",
            "expirationDate": "2019-07",
            "customer": {
                "guid": "d1cf828d-3050-4e4c-b7cf-f4038d114d39",
                "firstName": "John",
                "lastName": "Doe",
                "phone": "9177563007",
                "city": "New York",
                "country": "US",
                "email": "johnd@mailinator.com",
                "zip": "10007",
                "address1": "107 7th Av.",
                "address2": "",
                "state": "NY",
                "dateOfBirth": "1987-07-07T00:00:00",
                "driverLicenseNumber": "12345678",
                "driverLicenseState": "TX",
                "ssN4": "1210"
            }
        }
    }
}

Create return without reference

POST/returns

You can run a Return transaction when you need to refund either a partial or the full amount of a sale that has been settled. The Return amount doesn’t need to be the same as the total amount originally charged in the sale.

This endpoint creates a return.

Remember you will need to use an authentication token or the API Key in the header request for every transaction.

Headers using token

KeyValue
Content-Type"application/json"
AuthorizationToken. Eg: "Bearer eHSN5rTBzqDozgAAlN1UlTMVuIT1zSiAZWCo6E..."

Headers using API Key

KeyValue
Content-Type"application/json"
UserAuthorizationAPI Key. Eg: "e516b6db-3230-4b1c-ae3f-e5379b774a80"

Query Parameters

ParameterTypeM/C/OValue
DeviceGuidstringMandatoryDevice’s Guid.
AmountdecimalMandatoryTransaction's amount. Min. amt.: $0.50
CardobjectMandatorySee Card.
Request
curl -X POST https://apisandbox.surepay.co/api/v1/returns \
  -H "Authorization: Bearer $SUREPAY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "DeviceGuid" : "4b5013f7-b275-4929-8e83-0167c6edf639",
    "Amount": 19.74,
    "Card": {
        "CardNumber" : "5175526161474418",
        "CardHolderName" : "John Doe",
        "Cvv2" : "998",
        "ExpirationDate" : "2312",
    }
}'
Response
{
    "guid": "58f6fd1f-6b20-4daa-8059-4a0986f67787",
    "batchStatus": "Batch - Open",
    "timeStamp": "11/14/2023 12:27:45 PM",
    "deviceGuid": "4b5013f7-b275-4929-8e83-0167c6edf639",
    "status": "Transaction - Approved",
    "amount": 19.74,
    "batchGuid": "1c90754e-dd20-4157-ba7e-2cff6e33f3d7",
    "processorStatusCode": "A0000",
    "wasProcessed": true,
    "authCode": "TAS348",
    "refNumber": "39349491",
    "invoiceNumber": "39349491",
    "customerReceipt": "SUR TECHNOLOGY HOLDINGS\\n8320 S HARDY DR\\nTEMPE AZ 85284\\n11/14/2023 05:27:46\\n\\nCREDIT - RETURN\\n\\nCARD # : **** **** **** 5511\\nCARD TYPE : VISA\\nEntry Mode : MANUAL\\n\\nTRANSACTION ID : 39349491\\nInvoice number : 39349491\\nAUTH CODE : TAS348\\nReturn Amount:                  $19.74\\n--------------------------------------\\n\\n\\n\\n\\n\\nCUSTOMER ACKNOWLEDGES RECEIPT OF\\nGOODS AND/OR SERVICES IN THE AMOUNT\\nOF THE TOTAL SHOWN HEREON AND AGREES\\nTO PERFORM THE OBLIGATIONS SET FORTH\\nBY THE CUSTOMER`S AGREEMENT WITH THE\\nISSUER\\nAPPROVED\\n\\n\\n\\n\\nCustomer Copy\\n\\n",
    "card": {
        "first6": "517552",
        "last4": "4418",
        "cardNumber": "CARD NOT TOKENIZED",
        "cardType": "Visa",
        "expirationDate": "2023-12"
    }
}

Get return

GET/returns/<guid>

This endpoint gets a return.

Remember you will need to use an authentication token or the API Key in the header request for every transaction.

Headers using token

KeyValue
AuthorizationToken. Eg: "Bearer eHSN5rTBzqDozgAAlN1UlTMVuIT1zSiAZWCo6E..."

Headers using API Key

KeyValue
UserAuthorizationAPI Key. Eg: "e516b6db-3230-4b1c-ae3f-e5379b774a80"

URL Parameters

ParameterDescription
guidReturn’s guid to get
Request
curl -X GET https://apisandbox.surepay.co/api/v1/returns/<guid> \
  -H "Authorization: Bearer $SUREPAY_TOKEN"
Response
{
    "guid": "4f31b350-edd1-49fd-a1ad-4b065f78d7b9",
    "batchStatus": "Batch - Open",
    "timeStamp": "2017-07-11T11:10:38.11",
    "deviceGuid": "8f65764d-72c1-4dee-ac9f-4cd4c98e8c35",
    "saleGuid": "ded98ad3-0553-4607-b84c-1bbd85f474d5",
    "status": "Transaction - Approved",
    "amount": 19.74,
    "batchGuid": "450463e0-5050-4c33-8c2f-4e39a2dd8614",
    "processorStatusCode": "A0014",
    "wasProcessed": true,
    "authCode": "VTLMC1",
    "refNumber": "13283670",
    "invoiceNumber": "11518",
    "customerReceipt": "SUR TECHNOLOGY HOLDINGS\\n8320 S HARDY DRIVE\\nTEMPE AZ 85284\\n07/11/2017 07:10:42\\n\\nCREDIT - VOID\\n\\nCARD # : **** **** **** 0213\\nCARD TYPE :MASTERCARD\\nEntry Mode : MANUAL\\n\\nREF # : 13283670\\nInvoice number : 11518\\n\\nVoid Amount:                    $19.74\\n--------------------------------------\\n\\n\\n\\nJohn Doe\\n\\nCUSTOMER ACKNOWLEDGES RECEIPT OF\\nGOODS AND/OR SERVICES IN THE AMOUNT\\nOF THE TOTAL SHOWN HEREON AND AGREES\\nTO PERFORM THE OBLIGATIONS SET FORTH\\nBY THE CUSTOMER`S AGREEMENT WITH THE\\nISSUER\\nAPPROVED\\n\\n\\n\\n\\nCustomer Copy\\n",
    "sale": {
        "guid": "ded98ad3-0553-4607-b84c-1bbd85f474d5",
        "status": "Transaction - Approved",
        "batchStatus": "Batch - Closed",
        "timeStamp": "2017-07-11T11:09:53.5",
        "deviceGuid": "8f65764d-72c1-4dee-ac9f-4cd4c98e8c35",
        "amount": 19.74,
        "effectiveAmount": 0,
        "orderNumber": "11518",
        "orderDate": "2017-02-03T00:00:00",
        "batchGuid": "1564cb1b-eddb-4747-9565-61a7d7d225f9",
        "processorStatusCode": "A0000",
        "processorResponseMessage": "Success",
        "wasProcessed": true,
        "authCode": "VTLMC1",
        "refNumber": "13283670",
        "invoiceNumber": "11518",
        "customerReceipt": "SUR TECHNOLOGY HOLDINGS\\n8320 S HARDY DRIVE\\nTEMPE AZ 85284\\n07/11/2017 07:09:56\\n\\nCREDIT - SALE\\n\\nCARD # : **** **** **** 0213\\nCARD TYPE :MASTERCARD\\nEntry Mode : MANUAL\\n\\nREF # : 13283670\\nInvoice number : 11518\\nAUTH CODE : VTLMC1\\nSubtotal:                       $19.74\\n--------------------------------------\\nTotal:                          $19.74\\n--------------------------------------\\n\\n\\n\\nJohn Doe\\n\\nCUSTOMER ACKNOWLEDGES RECEIPT OF\\nGOODS AND/OR SERVICES IN THE AMOUNT\\nOF THE TOTAL SHOWN HEREON AND AGREES\\nTO PERFORM THE OBLIGATIONS SET FORTH\\nBY THE CUSTOMER`S AGREEMENT WITH THE\\nISSUER\\nAPPROVED\\n\\n\\n\\n\\nCustomer Copy\\n",
        "customData": "order details",
        "card": {
            "first4": "5306",
            "last4": "0213",
            "cardNumber": "1zcGT7J4pkGh0213",
            "cardHolderName": "John Doe",
            "expirationDate": "2019-07",
            "customer": {
                "guid": "d1cf828d-3050-4e4c-b7cf-f4038d114d39",
                "firstName": "John",
                "lastName": "Doe",
                "phone": "9177563007",
                "city": "New York",
                "country": "US",
                "email": "johnd@mailinator.com",
                "zip": "10007",
                "address1": "107 7th Av.",
                "address2": "",
                "state": "NY",
                "dateOfBirth": "1987-07-07T00:00:00",
                "driverLicenseNumber": "12345678",
                "driverLicenseState": "TX",
                "ssN4": "1210"
            }
        }
    }
}

Verify

Create verify

POST/Verify

The Verify transaction is used when you want to know if the card data you have is valid and it’s ready to run other transactions like Auth Only or Sale. Therefore we are talking about a $0.00 amount transaction, no money is moved.

This endpoint creates a verify.

Remember you will need to use an authentication token or the API Key in the header request for every transaction.

Headers using token

KeyValue
Content-Type"application/json"
AuthorizationToken. Eg: "Bearer eHSN5rTBzqDozgAAlN1UlTMVuIT1zSiAZWCo6E..."

Headers using API Key

KeyValue
Content-Type"application/json"
UserAuthorizationAPI Key. Eg: "e516b6db-3230-4b1c-ae3f-e5379b774a80"

Query Parameters

ParameterTypeM/C/OValue
DeviceGuidstringMandatoryDevice’s Guid.
Card
CardNumberstringMandatoryCard number. Must be 16 characters. (example: 4532538795426624).
CardHolderNamestringOptionalCardholder's name.
Cvv2integerMandatoryThis is the three or four digit CVV code at the back side of the credit and debit card.
ExpirationDatedateMandatoryCard's expiry date in the YYMM format.
CustomerobjectMandatoryCustomer.
Customer
Address1stringMandatoryCustomer's address.
CitystringMandatoryCustomer's city.
StatestringMandatoryCustomer's short name state. The ISO 3166-2 CA and US state or province code of a customer. Length = 2.
ZipintegerMandatoryCustomer's zipcode. Length = 5.
Request
curl -X POST https://apisandbox.surepay.co/api/v1/Verify \
  -H "Authorization: Bearer $SUREPAY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "DeviceGuid" : "8257dde1-ded6-4c38-ab71-4338c4aa87ac",
  "Card":
  {
    "CardNumber" : "4111111111111111",
    "Cvv2" : "999",
    "ExpirationDate" : "1912",
    "Customer":
    {
      "City" : "New York",
      "State" : "NY",
      "Address1" : "111 11th Av.",
      "Zip" : "10011"
    }
  }
}'
Response
{
    "guid": "84c42030-40bd-4110-a928-84ece487d0e9",
    "status": "Transaction - Approved",
    "timeStamp": "2025-08-19T16:55:51.52",
    "deviceGuid": "8257dde1-ded6-4c38-ab71-4338c4aa87ac",
    "card": {
        "guid": "277b9710-8966-4d4c-b21c-74c982aeb32a",
        "first6": "411111",
        "last4": "1111",
        "cardNumber": "HdW4xmthd8iY1111",
        "cardType": "Visa",
        "expirationDate": "2030-12",
        "customer": {
            "guid": "2fe25eb3-a719-4643-93e2-ad3283ffea01",
            "address1": "111 11th Av.",
            "zip": "10016",
            "city": "New York",
            "state" : "NY"
        },
        "token": "HdW4xmthd8iY1111"
    },
    "cardDataSource": "INTERNET",
    "processorStatusCode": "A0000",
    "wasProcessed": true,
    "addressVerificationCode": "N",
    "cvvVerificationCode": "M",
    "addressVerificationResult": "No Match",
    "cvvVerificationResult": "Passed"
}

Get verify

GET/Verify/<guid>

This endpoint gets a verify.

Remember you will need to use an authentication token or the API Key in the header request for every transaction.

Headers using token

KeyValue
AuthorizationToken. Eg: "Bearer eHSN5rTBzqDozgAAlN1UlTMVuIT1zSiAZWCo6E..."

Headers using API Key

KeyValue
UserAuthorizationAPI Key. Eg: "e516b6db-3230-4b1c-ae3f-e5379b774a80"

URL Parameters

ParameterDescription
guidVerify’s guid to get
Request
curl -X GET https://apisandbox.surepay.co/api/v1/Verify/<guid> \
  -H "Authorization: Bearer $SUREPAY_TOKEN"
Response
{
    "guid": "f1565d71-54c2-410e-a672-29aa28316b7d",
    "status": "Transaction - Approved",
    "timeStamp": "2017-07-03T14:08:15.53",
    "deviceGuid": "4b5013f7-b275-4929-8e83-0167c6edf639",
    "card": {
        "first4": "4532",
        "last4": "7402",
        "cardNumber": "hNDbeGr7VBgY7402",
        "cardHolderName": "Justin Troudeau",
        "expirationDate": "2019-12",
        "customer": {
            "guid": "97c01573-3736-4755-bbcf-de9da8e9391d",
            "firstName": "Justin",
            "lastName": "Troudeau",
            "phone": "9177563051",
            "city": "New York",
            "country": "US",
            "email": "justint@mailinator.com",
            "zip": "10011",
            "address1": "111 11th Av.",
            "address2": "",
            "state": "NY",
            "dateOfBirth": "1991-11-11T00:00:00",
            "driverLicenseNumber": "12345678",
            "driverLicenseState": "TX",
            "ssN4": "1210"
        }
    },
    "processorStatusCode": "A0000",
    "wasProcessed": true
}

Tokenization

Create tokenization Credit Card

POST/tokenization

The Tokenization service is used when you want to obtain a tokenized value of the card number but no validation to be performed at the issuing bank.

This endpoint creates a tokenization.

Remember you will need to use an authentication token or the API Key in the header request for every transaction.

Headers using token

KeyValue
Content-Type"application/json"
AuthorizationToken. Eg: "Bearer eHSN5rTBzqDozgAAlN1UlTMVuIT1zSiAZWCo6E..."

Headers using API Key

KeyValue
Content-Type"application/json"
UserAuthorizationAPI Key. Eg: "e516b6db-3230-4b1c-ae3f-e5379b774a80"

Query Parameters

ParameterTypeM/C/OValue
DeviceGuidstringMandatoryDevice’s Guid.
Card
CardNumberstringMandatoryCard number. Must be 16 characters. (example: 4532538795426624).
ExpirationDatedateMandatoryCard's expiry date in the YYMM format.
Request
curl -X POST https://apisandbox.surepay.co/api/v1/tokenization \
  -H "Authorization: Bearer $SUREPAY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "DeviceGuid": "F050E264-EABF-433E-8C81-916DFE110159",
    "Card": {
        "CardNumber": "4024007194311436",
        "ExpirationDate": "2507"
    }
}'
Response
{
    "guid": "a2b8842a-a248-4759-ad71-9607a472e7cc",
    "status": "Transaction - Approved",
    "timeStamp": "2021-07-16T15:36:07.31",
    "deviceGuid": "F050E264-EABF-433E-8C81-916DFE110159",
    "cardDataSource": "INTERNET",
    "processorStatusCode": "A0000",
    "card": {
        "first6": "402400",
        "last4": "1436",
        "cardNumber": "XR6ngXrNGdD31436",
        "expirationDate": "2025-07"
    }
}

Create tokenization Bank Account

POST/tokenization

The Tokenization service is used when you want to obtain a tokenized value of the bank account.

This endpoint creates a tokenization.

Remember you will need to use an authentication token or the API Key in the header request for every transaction.

Headers using token

KeyValue
Content-Type"application/json"
AuthorizationToken. Eg: "Bearer eHSN5rTBzqDozgAAlN1UlTMVuIT1zSiAZWCo6E..."

Headers using API Key

KeyValue
Content-Type"application/json"
UserAuthorizationAPI Key. Eg: "e516b6db-3230-4b1c-ae3f-e5379b774a80"

Query Parameters

ParameterTypeM/C/OValue
DeviceGuidstringMandatoryDevice’s Guid.
Bank Account
RoutingNumberintegerMandatoryRouting's number. Must be 9 characters (example: 490000018).
AccountNumberintegerMandatoryAccount's number.
Request
curl -X POST https://apisandbox.surepay.co/api/v1/tokenization \
  -H "Authorization: Bearer $SUREPAY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "DeviceGuid": "F050E264-EABF-433E-8C81-916DFE110159",
    "BankAccount": {
        "RoutingNumber": "490000018",
        "AccountNumber": "441142020",
        "NameOnAccount": "John Doe"
    }
}'
Response
{
    "guid": "a2b8842a-a248-4759-ad71-9607a472e7cc",
    "status": "Transaction - Approved",
    "timeStamp": "2021-07-16T15:36:07.31",
    "deviceGuid": "F050E264-EABF-433E-8C81-916DFE110159",
    "bankAccount": {
        "routingNumber": "490000018",
        "accountType": "Checking",
        "nameOnAccount": "John Doe",
        "token": "0021c0089f39b8f644ff90ee82b1bd61831b7890"
    }
}

Recurring Billing

Create recurring billing

POST/recurringBillings

Recurring billing is a great feature you can use when you want to charge a card or debit from a bank account every a determined period of time. Period can be daily, weekly, biweekly, monthly, yearly, etc. Check the fields to know how to work with each of them.

This endpoint creates a recurring billing.

Remember you will need to use an authentication token or the API Key in the header request for every transaction.
You will get updates by e-mail regarding Recurring Billing status.

Headers using token

KeyValue
Content-Type"application/json"
AuthorizationToken. Eg: "Bearer eHSN5rTBzqDozgAAlN1UlTMVuIT1zSiAZWCo6E..."

Headers using API Key

KeyValue
Content-Type"application/json"
UserAuthorizationAPI Key. Eg: "e516b6db-3230-4b1c-ae3f-e5379b774a80"

Query Parameters

ParameterTypeM/C/OValue
DeviceGuidstringOptionalDevice's Guid. Mandatory when providing a CreditCard or a BankAccount. Not required when providing an InvoiceGuid.
InvoiceGuidstringOptionalThe Guid of the Invoice you want to make recurring. Do not send amount, nor Card neither Bank Account in this case.
AmountdecimalOptionalTransaction's amount. Min. amt.: $0.50. Mandatory when amount is fixed.
IntervalstringMandatoryRecurring billing interval. A customer can schedule the recurring payment at a desired interval. Allowed values: 1. yearly 2. halfYearly 3. quarterly 4. monthly 5. fortnightly 6. weekly 7. biweekly 8. daily 9. CustomDates 10. each1st 11. each15th 12. 1st15th
IntervalValuestringMandatory for monthly, weekly and custom dates modesAllowed values: 1.For the yearly, halfYearly , quarterly, fortnightly, biweekly and daily mode, does not need to enter IntervalValue, since they do not have. 2.For the monthly mode, select everyMonth or the months of the year. Example: "Interval" : "monthly", "IntervalValue" : "april, may, june". 3.For weekly mode, select everyWeek or the days of the week. Example: "Interval" : "weekly", "IntervalValue" : "monday, tuesday, wednesday". 4.For CustomDates mode, select a list of dates (yyyy-MM-dd) separated by commas. Example: "Interval" : "CustomDates", "IntervalValue" : "2017-03-12, 2017-04-06, 2017-05-17, 2017-06-12".
SubIntervalValuestringMandatory for monthlyAllowed values: 1.Any day of the month.
StartDatedateMandatoryThe first payment date of the recurring billing schedule. Allowed Recurring Billing format: YYYY-MM-DD For example: 2002-05-30
EndDatedateMandatory when payment count is not submittedThe last payment date of the recurring billing schedule. Allowed Recurring Billing format: YYYY-MM-DD For example: 2002-05-30 Note: Send either EndDate or PaymentCount field in a request.
PaymentCountintegerMandatory when end date is not submittedThe count of payments in a recurring schedule payment, set by a customer. Note: Send either PaymentCount or EndDate field in a request.
ScheduleNotesstringOptionalThis field provides a place for the user to identify the reason they added or modified the recurring schedule.
DescriptionstringOptionalGeneral description about the recurring billing.
DynamicAmountbooleanOptionalMandatory and true when providing a merchant product list guid. Not compatible with enhanced data.
MerchantProductListGuidstringOptionalMerchantProductList's Guid. Mandatory when providing a dynamic amount.
SendReceiptbooleanOptionalSet to “FALSE” if you do not want an e-mail receipt to be sent to the customer. Set to “TRUE” or leave empty if you want e-mail to be sent.
CardobjectMandatorySee Card. Note: Send either Card or BankAccount object in a request.
BankAccountobjectMandatorySee BankAccount. Note: Send either Card or BankAccount object in a request.
EnhancedDataobjectOptionalSee EnhancedData.
Request
curl -X POST https://apisandbox.surepay.co/api/v1/recurringBillings \
  -H "Authorization: Bearer $SUREPAY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "DeviceGuid" : "8257dde1-ded6-4c38-ab71-4338c4aa87ac",
  "Amount" : 10.50,
  "Interval" : "monthly",
  "IntervalValue" : "april, may, june",
  "StartDate" : "2017-05-13",
  "EndDate" : "2019-04-01",
  "PaymentCount" : "",
  "ScheduleNotes" : "Cable",
  "Description" : "Description",
  "Card":
  {
    "CardNumber" : "4556395004716019",
    "CardHolderName" : "John Doe",
    "Cvv2" : "999",
    "ExpirationDate" : "1710",
    "Customer":
    {
      "FirstName" : "John",
      "LastName" : "Doe",
      "Phone" : "9865123654",
      "City" : "New York",
      "State" : "NY",
      "Country" : "US",
      "Email" : "johndoe@mailinator.com",
      "Address1" : "12th Ave. 5472",
      "Address2" : "",
      "Zip" : "10003",
      "DateOfBirth" : "1989-10-01T00:00:01.000Z",
      "DriverLicenseNumber" : "12345678",
      "DriverLicenseState" : "TX",
      "SSN4" : "1210"
    }
  }
}'
Response
{
  "guid": "d1507904-f84c-4508-98ef-5f0fcc417019",
  "deviceGuid": "75f97793-430b-4e94-9aec-383950639b18",
  "status": "RecurringBilling -  Active",
  "interval": "monthly",
  "intervalValue": "april, may, june",
  "amount": 10.5,
  "recurringBillingNumber": "14339150",
  "startDate": "2017-05-13T00:00:00",
  "endDate": "2019-04-01T00:00:00",
  "scheduleNotes": "Cable",
  "description" : "Description",
  "processorStatusCode": "OK",
  "processorResponseMessage": "Recurring billing scheduled. Payment count: 5. First payment: Saturday, May 13, 2017. Last payment: Wednesday, June 13, 2018",
  "wasProcessed": true,
  "card": {
    "first4": "4556",
    "last4": "6019",
    "cardNumber": "7hEtLJIhooTE6019",
    "cardHolderName": "John Doe",
    "expirationDate": "2017-10",
    "customer": {
      "guid": "d0912636-4fc1-48a4-b002-aa39a9df1288",
      "firstName": "John",
      "lastName": "Doe",
      "phone": "9865123654",
      "city": "New York",
      "country": "US",
      "email": "johndoe@mailinator.com",
      "zip": "10003",
      "address1": "12th Ave. 5472",
      "address2": "",
      "state": "NY",
      "dateOfBirth": "1989-10-01T00:00:00",
      "DriverLicenseNumber" : "12345678",
      "DriverLicenseState" : "TX",
      "SSN4" : "1210"
    }
  },
  "scheduleAndPayments": [
    {
      "scheduledPaymentDate": "2017-05-13T00:00:00",
      "scheduledPaymentDateDayOfWeek": "Saturday",
      "scheduledPaymentNumber": 1,
      "scheduledWasProcessed": false
    },
    {
      "scheduledPaymentDate": "2017-06-13T00:00:00",
      "scheduledPaymentDateDayOfWeek": "Tuesday",
      "scheduledPaymentNumber": 2,
      "scheduledWasProcessed": false
    },
    {
      "scheduledPaymentDate": "2018-04-13T00:00:00",
      "scheduledPaymentDateDayOfWeek": "Friday",
      "scheduledPaymentNumber": 3,
      "scheduledWasProcessed": false
    },
    {
      "scheduledPaymentDate": "2018-05-13T00:00:00",
      "scheduledPaymentDateDayOfWeek": "Sunday",
      "scheduledPaymentNumber": 4,
      "scheduledWasProcessed": false
    },
    {
      "scheduledPaymentDate": "2018-06-13T00:00:00",
      "scheduledPaymentDateDayOfWeek": "Wednesday",
      "scheduledPaymentNumber": 5,
      "scheduledWasProcessed": false
    }
  ]
}

Update recurring billing

PUT/recurringBillings<guid>

This endpoint updates a recurring billing.

Remember you will need to use an authentication token or the API Key in the header request for every transaction.

Headers using token

KeyValue
Content-Type"application/json"
AuthorizationToken. Eg: "Bearer eHSN5rTBzqDozgAAlN1UlTMVuIT1zSiAZWCo6E..."

Headers using API Key

KeyValue
Content-Type"application/json"
UserAuthorizationAPI Key. Eg: "e516b6db-3230-4b1c-ae3f-e5379b774a80"

URL Parameters

ParameterDescription
guidRecurring billings’s guid to update

Query Parameters

ParameterTypeM/C/OValue
AmountdecimalOptionalTransaction's amount. Min. amt.: $0.50
IntervalstringOptionalRecurring billing interval. A customer can schedule the recurring payment at a desired interval. Allowed values: 1. yearly 2. halfYearly 3. quarterly 4. monthly 5. fortnightly 6. weekly 7. biweekly 8. daily 9. CustomDates 10. each1st 11. each15th 12. 1st15th
IntervalValuestringOptionalAllowed values: 1.For the yearly, halfYearly , quarterly, fortnightly, biweekly and daily mode, does not need to enter IntervalValue, since they do not have. 2.For the monthly mode, select everyMonth or the months of the year. Example: "Interval" : "monthly", "IntervalValue" : "april, may, june". 3.For weekly mode, select everyWeek or the days of the week. Example: "Interval" : "weekly", "IntervalValue" : "monday, tuesday, wednesday". 4.For CustomDates mode, select a list of dates (yyyy-MM-dd) separated by commas. Example: "Interval" : "CustomDates", "IntervalValue" : "2017-03-12, 2017-04-06, 2017-05-17, 2017-06-12".
SubIntervalValuestringMandatory for monthlyAllowed values: 1.Any day of the month.
StartDatedateOptionalThe first payment date of the recurring billing schedule. Allowed Recurring Billing format: YYYY-MM-DD For example: 2002-05-30
EndDatedateOptionalThe first payment date of the recurring billing schedule. Allowed Recurring Billing format: YYYY-MM-DD For example: 2002-05-30 Note: Send either EndDate or PaymentCount field in a request.
PaymentCountintegerOptionalThe count of payments in a recurring schedule payment, set by a customer. Note: Send either PaymentCount or EndDate field in a request.
ScheduleNotesstringOptionalThis field provides a place for the user to identify the reason they added or modified the recurring schedule.
DescriptionstringOptionalGeneral description about the recurring billing.
SendReceiptbooleanOptionalSet to “FALSE” if you do not want an e-mail receipt to be sent to the customer. Set to “TRUE” or leave empty if you want e-mail to be sent.
StatusstringOptionalRecurring billing status. Allowed values: 1. RecurringBilling - Active 2. RecurringBilling - Created - Local 3. RecurringBilling - Created - Error: Processor not reached 4. RecurringBilling - Created - Processor Fail 5. RecurringBilling - Deactivated 6. RecurringBilling - Paused 7. RecurringBilling - Finished 8. RecurringBilling - Deleted 9. RecurringBilling - Active Started
Request
curl -X PUT https://apisandbox.surepay.co/api/v1/recurringBillings<guid> \
  -H "Authorization: Bearer $SUREPAY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "Amount" : 25.40,
  "Interval" : "monthly",
  "IntervalValue" : "january",
  "StartDate" : "2017-04-01T00:00:01.000Z",
  "EndDate" : "2018-06-01T00:00:01.000Z",
  "PaymentCount" : "",
  "ScheduleNotes" : "Cable",
  "Description" : "Description",
  "Status" : "RecurringBilling -  Active"
}'
Response
{
  "guid": "1de7a995-6e4d-4726-afb3-c9972b9b150a",
  "deviceGuid": "8257dde1-ded6-4c38-ab71-4338c4aa87ac",
  "status": "RecurringBilling -  Active",
  "interval": "monthly",
  "intervalValue": "january",
  "amount": 25.4,
  "recurringBillingNumber": "99851606",
  "startDate": "2017-04-01T00:00:01",
  "endDate": "2018-06-01T00:00:01",
  "scheduleNotes": "Cable",
  "description" : "Description",
  "processorStatusCode": "OK",
  "processorResponseMessage": "Recurring billing re-scheduled. Payment count: 1. First payment: Monday, January 1, 2018. Last payment: Monday, January 1, 2018",
  "wasProcessed": true,
  "card": {
    "first4": "4556",
    "last4": "6019",
    "cardNumber": "7hEtLJIhooTE6019",
    "cardHolderName": "John Doe",
    "expirationDate": "2017-10",
    "customer": {
      "guid": "d0912636-4fc1-48a4-b002-aa39a9df1288",
      "firstName": "John",
      "lastName": "Doe",
      "phone": "9865123654",
      "city": "New York",
      "country": "US",
      "email": "johndoe@mailinator.com",
      "zip": "10003",
      "address1": "12th Ave. 5472",
      "address2": "",
      "state": "NY",
      "dateOfBirth": "1989-10-01T00:00:00",
      "DriverLicenseNumber" : "12345678",
      "DriverLicenseState" : "TX",
      "SSN4" : "1210"
    }
  },
  "scheduleAndPayments": [
    {
      "scheduledPaymentDate": "2018-01-01T00:00:00",
      "scheduledPaymentDateDayOfWeek": "Monday",
      "scheduledPaymentNumber": 1,
      "scheduledWasProcessed": false
    }
  ]
}

Get recurring billing

GET/recurringBillings/<guid>

This endpoint gets a recurring billing.

Remember you will need to use an authentication token or the API Key in the header request for every transaction.

Headers using token

KeyValue
AuthorizationToken. Eg: "Bearer eHSN5rTBzqDozgAAlN1UlTMVuIT1zSiAZWCo6E..."

Headers using API Key

KeyValue
UserAuthorizationAPI Key. Eg: "e516b6db-3230-4b1c-ae3f-e5379b774a80"

URL Parameters

ParameterDescription
guidRecurring billings’s guid to get
Request
curl -X GET https://apisandbox.surepay.co/api/v1/recurringBillings/<guid> \
  -H "Authorization: Bearer $SUREPAY_TOKEN"
Response
{
  "guid": "d1507904-f84c-4508-98ef-5f0fcc417019",
  "deviceGuid": "75f97793-430b-4e94-9aec-383950639b18",
  "status": "RecurringBilling -  Active",
  "interval": "monthly",
  "intervalValue": "april, may, june",
  "amount": 10.5,
  "recurringBillingNumber": "14339150",
  "startDate": "2017-05-13T00:00:00",
  "endDate": "2019-04-01T00:00:00",
  "scheduleNotes": "Cable",
  "description": "Description",
  "processorStatusCode": "OK",
  "processorResponseMessage": "Recurring billing scheduled. Payment count: 5. First payment: Saturday, May 13, 2017. Last payment: Wednesday, June 13, 2018",
  "wasProcessed": true,
  "card": {
    "first4": "4556",
    "last4": "6019",
    "cardNumber": "7hEtLJIhooTE6019",
    "cardHolderName": "John Doe",
    "expirationDate": "2017-10",
    "customer": {
      "guid": "d0912636-4fc1-48a4-b002-aa39a9df1288",
      "firstName": "John",
      "lastName": "Doe",
      "phone": "9865123654",
      "city": "New York",
      "country": "US",
      "email": "johndoe@mailinator.com",
      "zip": "10003",
      "address1": "12th Ave. 5472",
      "address2": "",
      "state": "NY",
      "dateOfBirth": "1989-10-01T00:00:00",
      "DriverLicenseNumber" : "12345678",
      "DriverLicenseState" : "TX",
      "SSN4" : "1210"
    }
  },
  "scheduleAndPayments": [
    {
      "scheduledPaymentDate": "2017-05-13T00:00:00",
      "scheduledPaymentDateDayOfWeek": "Saturday",
      "scheduledPaymentNumber": 1,
      "scheduledWasProcessed": false
    },
    {
      "scheduledPaymentDate": "2017-06-13T00:00:00",
      "scheduledPaymentDateDayOfWeek": "Tuesday",
      "scheduledPaymentNumber": 2,
      "scheduledWasProcessed": false
    },
    {
      "scheduledPaymentDate": "2018-04-13T00:00:00",
      "scheduledPaymentDateDayOfWeek": "Friday",
      "scheduledPaymentNumber": 3,
      "scheduledWasProcessed": false
    },
    {
      "scheduledPaymentDate": "2018-05-13T00:00:00",
      "scheduledPaymentDateDayOfWeek": "Sunday",
      "scheduledPaymentNumber": 4,
      "scheduledWasProcessed": false
    },
    {
      "scheduledPaymentDate": "2018-06-13T00:00:00",
      "scheduledPaymentDateDayOfWeek": "Wednesday",
      "scheduledPaymentNumber": 5,
      "scheduledWasProcessed": false
    }
  ]
}

Batch

Close batch

POST/Batches/close

Batch is processing all the authorized transactions of the day at the end of the day. However, you can close a batch manually before. You can also get your transactions searched by batch.

This endpoint closes a batch.

Batch closing is mandatory, otherwise transactions are not settled.
Remember you will need to use an authentication token or the API Key in the header request for every transaction.

Headers using token

KeyValue
Content-Type"application/json"
AuthorizationToken. Eg: "Bearer eHSN5rTBzqDozgAAlN1UlTMVuIT1zSiAZWCo6E..."

Headers using API Key

KeyValue
Content-Type"application/json"
UserAuthorizationAPI Key. Eg: "e516b6db-3230-4b1c-ae3f-e5379b774a80"

Query Parameters

ParameterTypeM/C/OValue
DeviceGuidstringMandatoryDevice’s Guid.
SemiIntegratedbooleanOptionalOnly when physical terminal used on semi integrated mode, send value True.
Request
curl -X POST https://apisandbox.surepay.co/api/v1/Batches/close \
  -H "Authorization: Bearer $SUREPAY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "DeviceGuid" : "8257dde1-ded6-4c38-ab71-4338c4aa87ac"
}'
Response
{
  "deviceGuid": "8257dde1-ded6-4c38-ab71-4338c4aa87ac",
  "guid": "8193db64-dc35-4cf8-b4a9-7e1d66aa119f",
  "status": "PASS",
  "responseCode": "A0000",
  "responseMessage": "Success",
  "closureDate": "2017-03-15T15:27:31.8987491-03:00",
  "batchInfo": {
    "siccode": "5999",
    "saleCount": 8,
    "saleAmount": 137.65,
    "returnCount": 0,
    "returnAmount": 0
  }
}

Search batches

POST/Batches/search

This endpoint searches batches in a date range.

Remember you will need to use an authentication token or the API Key in the header request for every transaction.

Headers using token

KeyValue
Content-Type"application/json"
AuthorizationToken. Eg: "Bearer eHSN5rTBzqDozgAAlN1UlTMVuIT1zSiAZWCo6E..."

Headers using API Key

KeyValue
Content-Type"application/json"
UserAuthorizationAPI Key. Eg: "e516b6db-3230-4b1c-ae3f-e5379b774a80"

Query Parameters

ParameterTypeM/C/OValue
deviceGuidstringMandatoryDevice's guid.
startDatedateMandatorySearch's start date. Allowed Recurring Billing format: YYYY-MM-DD For example: 2002-05-30
endDatedateMandatorySearch's end date. Allowed Recurring Billing format: YYYY-MM-DD For example: 2002-05-30
Request
curl -X POST https://apisandbox.surepay.co/api/v1/Batches/search \
  -H "Authorization: Bearer $SUREPAY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "deviceGuid" : "58ccf5a4-1d5d-4546-8202-da5c7ad10711",
  "startDate" : "1/1/1900",
  "endDate" : "12/31/2020"
}'
Response
{
    "count": 2,
    "ret": [
        {
            "batchGuid": "58e8a0ad-d167-4015-a4b1-904b1e7f2b26",
            "batchNumber": "160635",
            "closureDate": "2020-11-25T08:39:56.86-06:00",
            "batchTotalAmount": 26.79,
            "userName": "maxduplessy",
            "summary": {
                "saleCount": 2,
                "saleAmount": 46.53,
                "returnCount": 1,
                "returnAmount": 19.74
            },
            "transactions": [
                {
                    "transactionType": "Return",
                    "transactionDatetime": "2020-11-25T07:17:24.15-06:00",
                    "lastFour": "0213",
                    "cardType": "Mastercard",
                    "amount": 19.74,
                    "processorResponseMessage": "Return requested, Void successful"
                },
                {
                    "transactionType": "Sale",
                    "transactionDatetime": "2020-11-25T07:29:06.97-06:00",
                    "lastFour": "8442",
                    "cardType": "Visa",
                    "amount": 25.04,
                    "processorResponseMessage": "Success"
                },
                {
                    "transactionType": "Sale",
                    "transactionDatetime": "2020-11-25T07:30:52.72-06:00",
                    "lastFour": "0213",
                    "cardType": "Mastercard",
                    "amount": 21.49,
                    "processorResponseMessage": "Success"
                }
            ]
        },
        {
            "batchGuid": "b8d73296-e397-45c0-bb43-ba064e9750ac",
            "batchNumber": "160634",
            "closureDate": "2020-11-25T07:16:27.09-06:00",
            "batchTotalAmount": 19.74,
            "userName": "maxduplessy",
            "summary": {
                "saleCount": 1,
                "saleAmount": 19.74,
                "returnCount": 0,
                "returnAmount": 0.00
            },
            "transactions": [
                {
                    "transactionType": "Sale",
                    "transactionDatetime": "2020-11-25T07:15:27.28-06:00",
                    "lastFour": "0213",
                    "cardType": "Mastercard",
                    "amount": 19.74,
                    "processorResponseMessage": "Success"
                }
            ]
        }
    ]
}

Get batches with transactions

GET/Batches/<guid>/Transactions/

This endpoint gets a batch with its transactions.

Remember you will need to use an authentication token or the API Key in the header request for every transaction.

Headers using token

KeyValue
AuthorizationToken. Eg: "Bearer eHSN5rTBzqDozgAAlN1UlTMVuIT1zSiAZWCo6E..."

Headers using API Key

KeyValue
UserAuthorizationAPI Key. Eg: "e516b6db-3230-4b1c-ae3f-e5379b774a80"

URL Parameters

ParameterDescription
guidBatch’s guid to get
Request
curl -X GET https://apisandbox.surepay.co/api/v1/Batches/<guid>/Transactions/ \
  -H "Authorization: Bearer $SUREPAY_TOKEN"
Response
[
    {
        "transactionType": "Return",
        "transactionDatetime": "2020-11-25T07:17:24.15-06:00",
        "lastFour": "0213",
        "cardType": "Mastercard",
        "amount": 19.74,
        "processorResponseMessage": "Return requested, Void successful",
        "userName": "maxduplessy"
    },
    {
        "transactionType": "Sale",
        "transactionDatetime": "2020-11-25T07:29:06.97-06:00",
        "lastFour": "8442",
        "cardType": "Visa",
        "amount": 25.04,
        "processorResponseMessage": "Success",
        "userName": "maxduplessy"
    },
    {
        "transactionType": "Sale",
        "transactionDatetime": "2020-11-25T07:30:52.72-06:00",
        "lastFour": "0213",
        "cardType": "Mastercard",
        "amount": 21.49,
        "processorResponseMessage": "Success",
        "userName": "maxduplessy"
    }
]

Customer

Create customer

POST/Customers

This endpoint creates a customer.

Remember you will need to use an authentication token or the API Key in the header request for every transaction.

Headers using token

KeyValue
Content-Type"application/json"
AuthorizationToken. Eg: "Bearer eHSN5rTBzqDozgAAlN1UlTMVuIT1zSiAZWCo6E..."

Headers using API Key

KeyValue
Content-Type"application/json"
UserAuthorizationAPI Key. Eg: "e516b6db-3230-4b1c-ae3f-e5379b774a80"

Query Parameters

ParameterTypeM/C/OValue
MerchantGuidstringMandatoryMerchant’s Guid.
CustomerTypestringMandatoryCustomer Type. Allowed values: 1. Individual 2. Business
AccountNumberstringOptionalAccount Number.
CompanyNamestringOptionalCompany Name.
FirstNamestringMandatoryUser’s first name.
LastNamestringMandatoryUser’s last name.
Address1stringOptionalUser’s address.
Address2stringOptionalUser’s address line 2.
CitystringOptionalUser’s city.
StatestringOptionalUser’s short name state. The ISO 3166-2 CA and US state or province code of a user. Length = 2.
ZipintegerOptionalUser’s zipcode. Length = 5.
PhoneintegerOptionalUser’s phone number. The phone number must be syntactically correct. For example, 4152345678.
EmailstringOptionalUser’s valid email address
PresetCustomerNotesstringOptionalPreset Customer Notes.
PresetTermsAndConditionsstringOptionalPreset Terms And Conditions.
ShippingAddressesobjectOptionalShipping Addresses.
Request
curl -X POST https://apisandbox.surepay.co/api/v1/Customers \
  -H "Authorization: Bearer $SUREPAY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "merchantGuid": "8cc84666-3a4f-41df-b208-d371a90b8b66",
    "customerType": "Individual",
    "accountNumber": "123456789",
    "companyName": "Incutex",
    "firstName": "John",
    "lastName": "Doe",
    "address1": "108 8th Av.",
    "city": "New York",
    "state": "NY",
    "zip": "10016",
    "phone": "8987655434",
    "email": "JohnDoe@mailinator.com",
    "presetCustomerNotes": "New Customer Notes",
    "presetTermsAndConditions": "New Terms And Conditions",
    "shippingAddresses": [
        {
            "address1": "108 8th Av.",
            "city": "New York",
            "state": "NY",
            "zip": "10016"
        }
    ]
}'
Response
{
    "guid": "b9c22c22-f110-4475-97a6-77903b7a9b16",
    "merchantGuid": "8cc84666-3a4f-41df-b208-d371a90b8b66",
    "firstName": "John",
    "lastName": "Doe",
    "address1": "108 8th Av.",
    "zip": "10016",
    "city": "New York",
    "state": "NY",
    "phone": "8987655434",
    "email": "JohnDoe@mailinator.com",
    "accountNumber": "123456789",
    "companyName": "Incutex",
    "customerCode": "CU4277",
    "invoiceNumber": "000001",
    "presetCustomerNotes": "New Customer Notes",
    "presetTermsAndConditions": "New Terms And Conditions",
    "shippingAddresses": [
        {
            "guid": "7ce2453e-368a-439b-836d-7a3fbfbe8d61",
            "address1": "108 8th Av.",
            "zip": "10016",
            "city": "New York",
            "state": "NY"
        }
    ],
    "customerType": "Individual"
}

Update customer

PUT/Customers/<guid>

This endpoint updates a customer.

Remember you will need to use an authentication token or the API Key in the header request for every transaction.

Headers using token

KeyValue
Content-Type"application/json"
AuthorizationToken. Eg: "Bearer eHSN5rTBzqDozgAAlN1UlTMVuIT1zSiAZWCo6E..."

Headers using API Key

KeyValue
Content-Type"application/json"
UserAuthorizationAPI Key. Eg: "e516b6db-3230-4b1c-ae3f-e5379b774a80"

URL Parameters

ParameterDescription
guidInvoice customer’s guid to update

Query Parameters

ParameterTypeM/C/OValue
MerchantGuidstringMandatoryMerchant’s Guid.
CustomerTypestringMandatoryCustomer Type. Allowed values: 1. Individual 2. Business
AccountNumberstringOptionalAccount Number.
CompanyNamestringOptionalCompany Name.
FirstNamestringMandatoryUser’s first name.
LastNamestringMandatoryUser’s last name.
Address1stringOptionalUser’s address.
Address2stringOptionalUser’s address line 2.
CitystringOptionalUser’s city.
StatestringOptionalUser’s short name state. The ISO 3166-2 CA and US state or province code of a user. Length = 2.
ZipintegerOptionalUser’s zipcode. Length = 5.
PhoneintegerOptionalUser’s phone number. The phone number must be syntactically correct. For example, 4152345678.
EmailstringOptionalUser’s valid email address
PresetCustomerNotesstringOptionalPreset Customer Notes.
PresetTermsAndConditionsstringOptionalPreset Terms And Conditions.
ShippingAddressesobjectOptionalShipping Addresses.
Request
curl -X PUT https://apisandbox.surepay.co/api/v1/Customers/<guid> \
  -H "Authorization: Bearer $SUREPAY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "merchantGuid": "8cc84666-3a4f-41df-b208-d371a90b8b66",
    "customerType": "Individual",
    "accountNumber": "123456789",
    "companyName": "Incutex",
    "firstName": "John",
    "lastName": "Doe",
    "address1": "Belgrano 383",
    "city": "New York",
    "state": "NY",
    "zip": "10016",
    "phone": "8987655434",
    "email": "JohnDoe@mailinator.com",
    "guid": "b9c22c22-f110-4475-97a6-77903b7a9b16",
    "presetCustomerNotes": "New Customer Notes",
    "presetTermsAndConditions": "New Terms And Conditions",
    "shippingAddresses": [
        {
            "address1": "Belgrano 383",
            "address2": null,
            "city": "New York",
            "state": "NY",
            "zip": "10016"
        }
    ]
}'
Response
{
    "guid": "b9c22c22-f110-4475-97a6-77903b7a9b16",
    "merchantGuid": "8cc84666-3a4f-41df-b208-d371a90b8b66",
    "firstName": "John",
    "lastName": "Doe",
    "address1": "Belgrano 383",
    "zip": "10016",
    "city": "New York",
    "state": "NY",
    "phone": "8987655434",
    "email": "JohnDoe@mailinator.com",
    "accountNumber": "123456789",
    "companyName": "Incutex",
    "customerCode": "CU4277",
    "invoiceNumber": "000001",
    "presetCustomerNotes": "New Customer Notes",
    "presetTermsAndConditions": "New Terms And Conditions",
    "shippingAddresses": [
        {
            "guid": "1564389e-de8e-493b-9ddc-609597a91744",
            "address1": "Belgrano 383",
            "zip": "10016",
            "city": "New York",
            "state": "NY"
        }
    ],
    "customerType": "Individual"
}

Search customers

POST/Search/Customers/{exportable}/{pageNumber}/{pageSize}

This endpoint search a customers.

Remember you will need to use an authentication token or the API Key in the header request for every transaction.
Remember you will need to use an authentication token or the API Key in the header request for every transaction.
Remember you will need to use an authentication token or the API Key in the header request for every transaction.

Headers using token

KeyValue
Content-Type"application/json"
AuthorizationToken. Eg: "Bearer eHSN5rTBzqDozgAAlN1UlTMVuIT1zSiAZWCo6E..."

Headers using API Key

KeyValue
Content-Type"application/json"
UserAuthorizationAPI Key. Eg: "e516b6db-3230-4b1c-ae3f-e5379b774a80"

URL Parameters:

ParameterTypeM/C/OValue
ExportablestringMandatoryTrue or False. It means if you want results exportable to CSV.
PageNumberintegerOptionalInt. Number of page of the results. Default is 1 (Page size default is 500).
PageSizeintegerOptionalInt. Size of each page of the results. Default is 500.

Json Body:

ParameterTypeM/C/OValue
MerchantGuidstringMandatoryMerchant’s Guid.
CustomerTypestringOptionalCustomer Type. Allowed values: 1. Individual 2. Business
AccountNumberstringOptionalAccount Number.
CompanyNamestringOptionalCompany Name.
FirstNamestringOptionalUser’s first name.
LastNamestringOptionalUser’s last name.
Address1stringOptionalUser’s address.
Address2stringOptionalUser’s address line 2.
CitystringOptionalUser’s city.
StatestringOptionalUser’s short name state. The ISO 3166-2 CA and US state or province code of a user. Length = 2.
ZipintegerOptionalUser’s zipcode. Length = 5.
PhoneintegerOptionalUser’s phone number. The phone number must be syntactically correct. For example, 4152345678.
EmailstringOptionalUser’s valid email address
Request
curl -X POST https://apisandbox.surepay.co/api/v1/Search/Customers/{exportable}/{pageNumber}/{pageSize} \
  -H "Authorization: Bearer $SUREPAY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "customerType": "Individual",
    "merchantGuid": "8cc84666-3a4f-41df-b208-d371a90b8b66"
}'
Response
{
    "pageCurrent": 1,
    "pageCurrentResults": 1,
    "pageTotal": 1,
    "pageSize": 10,
    "totalResults": 1,
    "searchResultDto": [
        {
            "guid": "b9c22c22-f110-4475-97a6-77903b7a9b16",
            "companyName": "Incutex",
            "firstName": "John",
            "lastName": "Doe",
            "email": "JohnDoe@mailinator.com",
            "address1": "Belgrano 383",
            "city": "New York",
            "state": "NY",
            "zip": "10016",
            "phone": "8987655434",
            "accountNumber": "123456789",
            "customerType": "Individual"
        }
    ]
}

Invoice

Create invoice

POST/Invoice

This endpoint creates a invoice.

Remember you will need to use an authentication token or the API Key in the header request for every transaction.

Headers using token

KeyValue
Content-Type"application/json"
AuthorizationToken. Eg: "Bearer eHSN5rTBzqDozgAAlN1UlTMVuIT1zSiAZWCo6E..."

Headers using API Key

KeyValue
Content-Type"application/json"
UserAuthorizationAPI Key. Eg: "e516b6db-3230-4b1c-ae3f-e5379b774a80"

Query Parameters

ParameterTypeM/C/OValue
MerchantGuidstringMandatoryMerchant's Guid.
InvoiceCustomerGuidstringMandatoryInvoiceCustomer's Guid.
InvoiceNumberstringMandatoryInvoice Number.
OrderNumberstringOptionalOrder number. Length = 17.
PaymentTermstringOptionalThe term of payments. Allowed values: 1. Custom 2. Due on Receipt 3. Due end of month 4. Due end of next month 5. Net 15 6. Net 30 7. Net 45 8. Net 60
DueDatedateOptionalDue Date. Allowed format: MM-DD-YYYY. For example: 05-30-2018.
DiscountTypestringOptionalDiscount Type. Allowed values: 1. Fixed 2. Percentage
DiscountValuedecimalOptionalDiscount Value.
TaxZipintegerOptionalTax Zip.
TaxAmountdecimalOptionalTax Amount.
TaxRatedecimalOptionalTax Rate.
NotestringOptionalNote.
TermsAndConditionsstringOptionalTerms And Conditions.
SendStatusstringOptionalSend Status. Allowed values: 1. Draft 2. Scheduled To be Sent 3. Scheduled To be SentEMAIL 4. Scheduled To be SentSMS
SendDatedateOptionalSend Date. Allowed format: MM-DD-YYYY. For example: 05-30-2018.
InvoiceRecipientEmailstringOptionalValid email address.
SendBySMSbooleanOptionalTrue or False.
SendToPhoneNumberintegerOptionalPhone number. The phone number must be syntactically correct. For example, 4152345678.
DetailsobjectMandatorySee Details.
EnhancedDataobjectOptionalSee EnhancedData.
Request
curl -X POST https://apisandbox.surepay.co/api/v1/Invoice \
  -H "Authorization: Bearer $SUREPAY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "MerchantGuid" : "19344275-985e-4dff-81ee-cb84b8ad356c",
  "InvoiceCustomerGuid" : "9dcceb12-f084-4346-a03d-ed46a6c35d4e",
  "InvoiceNumber" : "ARG001MAX",
  "OrderNumber" : "0001",
  "PaymentTerm" : "Custom",
  "DueDate" : "07/25/2018",
  "Details":
  [  
      {  
         "ItemDescription":"Wine Malbec",
         "Rate":14.78,
         "Quantity": 8
      },
      {  
         "ItemDescription":"Rum",
         "Rate":9.85,
         "Quantity": 4
      },
      {  
         "ItemDescription":"Brandy",
         "Rate":11.80,
         "Quantity": 2
      },
      {  
         "ItemDescription":"Cigars",
         "Rate": 44.89,
         "Quantity": 3
      }
   ],
  "DiscountType" : "Fixed",
  "DiscountValue" : 5.00,
  "TaxZip" : "10029",
  "TaxAmount" : 8.85,
  "TaxRate" : 5.785,
  "Note" : "For september services",
  "TermsAndConditions" : "The ones you accepted when you clicked two pages ago",
  "SendStatus" : "Scheduled To be Sent",
  "SendDate" : "07/20/2018",
  "InvoiceRecipientEmail" : "john.lock@mailinator.com",
  "SendBySMS" : true,
  "SendToPhoneNumber" : "9174355176",
  "EnhancedData":
  {
    "SaleTax" : 5,
    "PurchaseOrder" : "PURCHSEORDER1",
    "OrderDate" : "07/20/2018",
    "AdditionalTaxDetailTaxCategory" : "tex",
    "AdditionalTaxDetailTaxType" : "regional",
    "AdditionalTaxDetailTaxAmount" : 3,
    "AdditionalTaxDetailTaxRate" : 2.50,
    "ShippingCharges" : 20,
    "DutyCharges" : 17.59,
    "ShipToZip" : "50001",
    "ShipFromZip" : "55100",
    "DestinationCountryCode" : "ARG",
    "CustomerVATNumber": "75010101",
    "VATInvoice" : "231465214",
    "SummaryCommodityCode" : "Aa94",
    "SupplierReferenceNumber" : "123",
    "CustomerRefID" : "123",
    "ChargeDescriptor" : "lalala"
  }
}'
Response
{
    "invoiceGuid": "89e6c76c-35fe-4360-95ca-6e4c0eb49bdc",
    "timeStamp": "2018-07-04T08:33:05.45-03:00",
    "merchantGuid": "19344275-985e-4dff-81ee-cb84b8ad356c",
    "invoiceCustomerGuid": "9dcceb12-f084-4346-a03d-ed46a6c35d4e",
    "sendDate": "2018-07-20T00:00:00",
    "sendStatus": "Scheduled To be Sent",
    "invoiceRecipientEmail": "john.lock@mailinator.com",
    "paymentTerm": "Custom",
    "dueDate": "2018-07-25T00:00:00",
    "invoiceNumber": "ARG001MAX",
    "orderNumber": "0001",
    "amountSubTotal": 315.91,
    "amountDueTotal": 328.89,
    "amountDiscounted": 5,
    "discountValue": 5,
    "discountType": "Fixed",
    "taxRate": 5.785,
    "taxAmount": 17.98,
    "taxZip": "10029",
    "note": "For september services",
    "termsAndConditions": "The ones you accepted when you clicked two pages ago",
    "enhancedData": {
        "saleTax": 5,
        "purchaseOrder": "PURCHSEORDER1",
        "additionalTaxDetailTaxCategory": "tex",
        "additionalTaxDetailTaxType": "regional",
        "additionalTaxDetailTaxAmount": 3,
        "additionalTaxDetailTaxRate": 2.5,
        "shippingCharges": 20,
        "dutyCharges": 17.59,
        "shipToZip": "50001",
        "shipFromZip": "55100",
        "destinationCountryCode": "ARG",
        "customerVATNumber": "75010101",
        "summaryCommodityCode": "Aa94",
        "vatInvoice": "231465214",
        "orderDate": "07/20/2018",
        "supplierReferenceNumber": "123",
        "customerRefID": "123",
        "chargeDescriptor": "lalala"
    },
    "details": [
        {
            "guid": "ed85d22a-a8e8-4a97-b549-f9a735e7ab75",
            "invoiceGuid": "89e6c76c-35fe-4360-95ca-6e4c0eb49bdc",
            "itemDescription": "Wine Malbec",
            "rate": 14.78,
            "quantity": 8,
            "amount": 118.24,
            "isDeleted": false
        },
        {
            "guid": "cdd55ede-e648-467d-b8b3-e553c7f1b561",
            "invoiceGuid": "89e6c76c-35fe-4360-95ca-6e4c0eb49bdc",
            "itemDescription": "Rum",
            "rate": 9.85,
            "quantity": 4,
            "amount": 39.4,
            "isDeleted": false
        },
        {
            "guid": "d568eb74-2bfa-4072-ad35-172f13898343",
            "invoiceGuid": "89e6c76c-35fe-4360-95ca-6e4c0eb49bdc",
            "itemDescription": "Brandy",
            "rate": 11.8,
            "quantity": 2,
            "amount": 23.6,
            "isDeleted": false
        },
        {
            "guid": "efb3e968-85da-4643-b56f-13c716dc58d8",
            "invoiceGuid": "89e6c76c-35fe-4360-95ca-6e4c0eb49bdc",
            "itemDescription": "Cigars",
            "rate": 44.89,
            "quantity": 3,
            "amount": 134.67,
            "isDeleted": false
        }
    ],
    "reminders": [
        {
            "guid": "b51d548c-5e03-40a1-bc03-77fd953d643a",
            "invoiceGuid": "89e6c76c-35fe-4360-95ca-6e4c0eb49bdc",
            "reminderType": "5 days before due date",
            "isActive": true,
            "isCompleted": false,
            "reminderDate": "2018-07-20T00:00:00"
        },
        {
            "guid": "e0684cdd-46b7-41fe-9a7b-a5c9e3424565",
            "invoiceGuid": "89e6c76c-35fe-4360-95ca-6e4c0eb49bdc",
            "reminderType": "5 days after due date",
            "isActive": true,
            "isCompleted": false,
            "reminderDate": "2018-07-30T00:00:00"
        }
    ],
    "merchant": {
        "guid": "19344275-985e-4dff-81ee-cb84b8ad356c",
        "mid": "1210000189539040",
        "dba": "AudioBit",
        "legalName": "AudioBit LLC",
        "adminUserGuid": "8a1a455e-60ed-4a0d-a649-44e661d92a27",
        "email": "audiobit@mailinator.com",
        "phone": "9547218212",
        "address1": "151 E 33rd ST",
        "address2": "Second Floor",
        "city": "New York",
        "state": "CO",
        "zipcode": "10016",
        "webhookUrl": "https://audiobit.com",
        "mailingBcc": "maxduplessy@mailinator.com",
        "customerLabel": "patientId",
        "logoUrl": "https://res.cloudinary.com/surepay/image/upload/v1516126617/uxuxkm3odb6lltibyeyj.png",
        "allowsTips": true,
        "status": "Merchant - Active",
        "merchantOwners": [
            {
                "guid": "f1388a86-380e-4294-be5e-04886d7a9801",
                "firstName": "aaa",
                "lastName": "aaa",
                "email": "aaa@aaa.com",
                "phone": "9177874563",
                "address1": "151 E 33rd ST",
                "address2": "Second Floor",
                "city": "New York",
                "state": "MO",
                "zipcode": "10016",
                "country": "US",
                "ownerShipType": "Partnership",
                "ownerShipPercentage": "100.00",
                "status": "MerchantOwner - Active",
                "last4_SSN": "1234"
            },
            {
                "guid": "cd057c76-e237-4515-9b4b-295061598186",
                "firstName": "James",
                "lastName": "Dean",
                "email": "jamesdean@surtech.com",
                "phone": "9177874563",
                "address1": "151 E 33rd ST",
                "address2": "Second Floor",
                "city": "New York",
                "state": "NY",
                "zipcode": "10016",
                "country": "US",
                "ownerShipType": "Partnership",
                "ownerShipPercentage": "100.00",
                "status": "MerchantOwner - Active",
                "last4_SSN": "1234"
            }
        ]
    },
    "invoiceCustomer": {
        "guid": "9dcceb12-f084-4346-a03d-ed46a6c35d4e",
        "customerCode": "GX8426",
        "companyName": "Incutex",
        "firstName": "Albus",
        "lastName": "Dumbledore",
        "address1": "108 8th Av.",
        "address2": "8th Floor",
        "zip": "10008",
        "city": "New York",
        "state": "NY",
        "personalPhone": "9727414574",
        "workPhone": "9177563046",
        "fax": "8004578796",
        "email": "john.lock@mailinator.com"
    },
    "sendBySMS": true,
    "sendToPhoneNumber": "9174355176"
}

Update invoice

PUT/Invoice/<guid>

This endpoint updates a invoice.

Remember you will need to use an authentication token or the API Key in the header request for every transaction.

Headers using token

KeyValue
Content-Type"application/json"
AuthorizationToken. Eg: "Bearer eHSN5rTBzqDozgAAlN1UlTMVuIT1zSiAZWCo6E..."

Headers using API Key

KeyValue
Content-Type"application/json"
UserAuthorizationAPI Key. Eg: "e516b6db-3230-4b1c-ae3f-e5379b774a80"

URL Parameters

ParameterDescription
guidInvoice’s guid to update

Query Parameters

ParameterTypeM/C/OValue
OrderNumberstringOptionalOrder number. Length = 17.
PaymentTermstringOptionalThe term of payments. Allowed values: 1. Custom 2. Due on Receipt 3. Due end of month 4. Due end of next month 5. Net 15 6. Net 30 7. Net 45 8. Net 60
DueDatedateOptionalDue Date. Allowed format: MM-DD-YYYY. For example: 05-30-2018.
DiscountTypestringOptionalDiscount Type. Allowed values: 1. Fixed 2. Percentage
DiscountValuedecimalOptionalDiscount Value.
TaxZipintegerOptionalTax Zip.
TaxAmountdecimalOptionalTax Amount.
TaxRatedecimalOptionalTax Rate.
NotestringOptionalNote.
TermsAndConditionsstringOptionalTerms And Conditions.
SendStatusstringOptionalSend Status. Allowed values: 1. Draft 2. Scheduled To be Sent 3. Scheduled To be SentEMAIL 4. Scheduled To be SentSMS
SendDatedateOptionalSend Date. Allowed format: MM-DD-YYYY. For example: 05-30-2018.
InvoiceRecipientEmailstringOptionalValid email address.
SendBySMSbooleanOptionalTrue or False.
SendToPhoneNumberintegerOptionalPhone number. The phone number must be syntactically correct. For example, 4152345678.
EnhancedDataobjectOptionalSee EnhancedData.
Request
curl -X PUT https://apisandbox.surepay.co/api/v1/Invoice/<guid> \
  -H "Authorization: Bearer $SUREPAY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "OrderNumber" : "0001",
  "PaymentTerm" : "Custom",
  "DueDate" : "07/25/2018",
  "DiscountType" : "Fixed",
  "DiscountValue" : 5.00,
  "TaxZip" : "10029",
  "TaxAmount" : 8.85,
  "TaxRate" : 5.785,
  "Note" : "For september services",
  "TermsAndConditions" : "The ones you accepted when you clicked two pages ago",
  "SendStatus" : "Scheduled To be Sent",
  "SendDate" : "07/20/2018",
  "InvoiceRecipientEmail" : "john.lock@mailinator.com",
  "SendBySMS" : true,
  "SendToPhoneNumber" : "9174355176",
  "EnhancedData":
  {
    "SaleTax" : 5,
    "PurchaseOrder" : "PURCHSEORDER1",
    "OrderDate" : "07/20/2018",
    "AdditionalTaxDetailTaxCategory" : "tex",
    "AdditionalTaxDetailTaxType" : "regional",
    "AdditionalTaxDetailTaxAmount" : 3,
    "AdditionalTaxDetailTaxRate" : 2.50,
    "ShippingCharges" : 20,
    "DutyCharges" : 17.59,
    "ShipToZip" : "50001",
    "ShipFromZip" : "55100",
    "DestinationCountryCode" : "ARG",
    "CustomerVATNumber": "75010101",
    "VATInvoice" : "231465214",
    "SummaryCommodityCode" : "Aa94",
    "SupplierReferenceNumber" : "123",
    "CustomerRefID" : "123",
    "ChargeDescriptor" : "lalala"
  }
}'
Response
{
    "invoiceGuid": "89e6c76c-35fe-4360-95ca-6e4c0eb49bdc",
    "timeStamp": "2018-07-04T08:33:05.45-03:00",
    "merchantGuid": "19344275-985e-4dff-81ee-cb84b8ad356c",
    "invoiceCustomerGuid": "9dcceb12-f084-4346-a03d-ed46a6c35d4e",
    "sendDate": "2018-07-20T00:00:00",
    "sendStatus": "Scheduled To be Sent",
    "invoiceRecipientEmail": "john.lock@mailinator.com",
    "paymentTerm": "Custom",
    "dueDate": "2018-07-25T00:00:00",
    "invoiceNumber": "ARG001MAX",
    "orderNumber": "0001",
    "amountSubTotal": 315.91,
    "amountDueTotal": 328.9,
    "amountDiscounted": 5,
    "discountValue": 5,
    "discountType": "Fixed",
    "taxRate": 5.785,
    "taxAmount": 17.98,
    "taxZip": "10029",
    "note": "For september services",
    "termsAndConditions": "The ones you accepted when you clicked two pages ago",
    "enhancedData": {
        "saleTax": 5,
        "purchaseOrder": "PURCHSEORDER1",
        "additionalTaxDetailTaxCategory": "tex",
        "additionalTaxDetailTaxType": "regional",
        "additionalTaxDetailTaxAmount": 3,
        "additionalTaxDetailTaxRate": 2.5,
        "shippingCharges": 20,
        "dutyCharges": 17.59,
        "shipToZip": "50001",
        "shipFromZip": "55100",
        "destinationCountryCode": "ARG",
        "customerVATNumber": "75010101",
        "summaryCommodityCode": "Aa94",
        "vatInvoice": "231465214",
        "orderDate": "MM/DD/YYYY",
        "supplierReferenceNumber": "123",
        "customerRefID": "123",
        "chargeDescriptor": "lalala"
    },
    "details": [
        {
            "guid": "ed85d22a-a8e8-4a97-b549-f9a735e7ab75",
            "invoiceGuid": "89e6c76c-35fe-4360-95ca-6e4c0eb49bdc",
            "itemDescription": "Wine Malbec",
            "rate": 14.78,
            "quantity": 8,
            "amount": 118.24,
            "isDeleted": false
        },
        {
            "guid": "cdd55ede-e648-467d-b8b3-e553c7f1b561",
            "invoiceGuid": "89e6c76c-35fe-4360-95ca-6e4c0eb49bdc",
            "itemDescription": "Rum",
            "rate": 9.85,
            "quantity": 4,
            "amount": 39.4,
            "isDeleted": false
        },
        {
            "guid": "d568eb74-2bfa-4072-ad35-172f13898343",
            "invoiceGuid": "89e6c76c-35fe-4360-95ca-6e4c0eb49bdc",
            "itemDescription": "Brandy",
            "rate": 11.8,
            "quantity": 2,
            "amount": 23.6,
            "isDeleted": false
        },
        {
            "guid": "efb3e968-85da-4643-b56f-13c716dc58d8",
            "invoiceGuid": "89e6c76c-35fe-4360-95ca-6e4c0eb49bdc",
            "itemDescription": "Cigars",
            "rate": 44.89,
            "quantity": 3,
            "amount": 134.67,
            "isDeleted": false
        }
    ],
    "reminders": [
        {
            "guid": "b51d548c-5e03-40a1-bc03-77fd953d643a",
            "invoiceGuid": "89e6c76c-35fe-4360-95ca-6e4c0eb49bdc",
            "reminderType": "5 days before due date",
            "isActive": false,
            "isCompleted": false,
            "reminderDate": "2018-07-20T00:00:00"
        },
        {
            "guid": "e0684cdd-46b7-41fe-9a7b-a5c9e3424565",
            "invoiceGuid": "89e6c76c-35fe-4360-95ca-6e4c0eb49bdc",
            "reminderType": "5 days after due date",
            "isActive": true,
            "isCompleted": false,
            "reminderDate": "2018-07-30T00:00:00"
        }
    ],
    "merchant": {
        "guid": "19344275-985e-4dff-81ee-cb84b8ad356c",
        "mid": "1210000189539040",
        "dba": "AudioBit",
        "legalName": "AudioBit LLC",
        "adminUserGuid": "8a1a455e-60ed-4a0d-a649-44e661d92a27",
        "email": "audiobit@mailinator.com",
        "phone": "9547218212",
        "address1": "151 E 33rd ST",
        "address2": "Second Floor",
        "city": "New York",
        "state": "CO",
        "zipcode": "10016",
        "webhookUrl": "https://audiobit.com",
        "mailingBcc": "maxduplessy@mailinator.com",
        "customerLabel": "patientId",
        "logoUrl": "https://res.cloudinary.com/surepay/image/upload/v1516126617/uxuxkm3odb6lltibyeyj.png",
        "allowsTips": true,
        "status": "Merchant - Active",
        "merchantOwners": [
            {
                "guid": "f1388a86-380e-4294-be5e-04886d7a9801",
                "firstName": "aaa",
                "lastName": "aaa",
                "email": "aaa@aaa.com",
                "phone": "9177874563",
                "address1": "151 E 33rd ST",
                "address2": "Second Floor",
                "city": "New York",
                "state": "MO",
                "zipcode": "10016",
                "country": "US",
                "ownerShipType": "Partnership",
                "ownerShipPercentage": "100.00",
                "status": "MerchantOwner - Active",
                "last4_SSN": "1234"
            },
            {
                "guid": "cd057c76-e237-4515-9b4b-295061598186",
                "firstName": "James",
                "lastName": "Dean",
                "email": "jamesdean@surtech.com",
                "phone": "9177874563",
                "address1": "151 E 33rd ST",
                "address2": "Second Floor",
                "city": "New York",
                "state": "NY",
                "zipcode": "10016",
                "country": "US",
                "ownerShipType": "Partnership",
                "ownerShipPercentage": "100.00",
                "status": "MerchantOwner - Active",
                "last4_SSN": "1234"
            }
        ]
    },
    "invoiceCustomer": {
        "guid": "9dcceb12-f084-4346-a03d-ed46a6c35d4e",
        "customerCode": "GX8426",
        "companyName": "Incutex",
        "firstName": "Albus",
        "lastName": "Dumbledore",
        "address1": "108 8th Av.",
        "address2": "8th Floor",
        "zip": "10008",
        "city": "New York",
        "state": "NY",
        "personalPhone": "9727414574",
        "workPhone": "9177563046",
        "fax": "8004578796",
        "email": "john.lock@mailinator.com"
    },
    "sendBySMS": true,
    "sendToPhoneNumber": "9174355176"
}

Get invoice

GET/Invoice/<guid>

This endpoint gets a invoice.

Remember you will need to use an authentication token or the API Key in the header request for every transaction.

Headers using token

KeyValue
AuthorizationToken. Eg: "Bearer eHSN5rTBzqDozgAAlN1UlTMVuIT1zSiAZWCo6E..."

Headers using API Key

KeyValue
UserAuthorizationAPI Key. Eg: "e516b6db-3230-4b1c-ae3f-e5379b774a80"

URL Parameters

ParameterDescription
guidInvoice’s guid to get
Request
curl -X GET https://apisandbox.surepay.co/api/v1/Invoice/<guid> \
  -H "Authorization: Bearer $SUREPAY_TOKEN"
Response
{
    "invoiceGuid": "89e6c76c-35fe-4360-95ca-6e4c0eb49bdc",
    "timeStamp": "2018-07-04T08:33:05.45-03:00",
    "merchantGuid": "19344275-985e-4dff-81ee-cb84b8ad356c",
    "invoiceCustomerGuid": "9dcceb12-f084-4346-a03d-ed46a6c35d4e",
    "sendDate": "2018-07-20T00:00:00",
    "sendStatus": "Scheduled To be Sent",
    "invoiceRecipientEmail": "john.lock@mailinator.com",
    "paymentTerm": "Custom",
    "dueDate": "2018-07-25T00:00:00",
    "invoiceNumber": "ARG001MAX",
    "orderNumber": "0001",
    "amountSubTotal": 315.91,
    "amountDueTotal": 328.9,
    "amountDiscounted": 5,
    "discountValue": 5,
    "discountType": "Fixed",
    "taxRate": 5.785,
    "taxAmount": 17.98,
    "taxZip": "10029",
    "note": "For september services",
    "termsAndConditions": "The ones you accepted when you clicked two pages ago",
    "enhancedData": {
        "saleTax": 5,
        "purchaseOrder": "PURCHSEORDER1",
        "additionalTaxDetailTaxCategory": "tex",
        "additionalTaxDetailTaxType": "regional",
        "additionalTaxDetailTaxAmount": 3,
        "additionalTaxDetailTaxRate": 2.5,
        "shippingCharges": 20,
        "dutyCharges": 17.59,
        "shipToZip": "50001",
        "shipFromZip": "55100",
        "destinationCountryCode": "ARG",
        "customerVATNumber": "75010101",
        "summaryCommodityCode": "Aa94",
        "vatInvoice": "231465214",
        "orderDate": "MM/DD/YYYY",
        "supplierReferenceNumber": "123",
        "customerRefID": "123",
        "chargeDescriptor": "lalala"
    },
    "details": [
        {
            "guid": "ed85d22a-a8e8-4a97-b549-f9a735e7ab75",
            "invoiceGuid": "89e6c76c-35fe-4360-95ca-6e4c0eb49bdc",
            "itemDescription": "Wine Malbec",
            "rate": 14.78,
            "quantity": 8,
            "amount": 118.24,
            "isDeleted": false
        },
        {
            "guid": "cdd55ede-e648-467d-b8b3-e553c7f1b561",
            "invoiceGuid": "89e6c76c-35fe-4360-95ca-6e4c0eb49bdc",
            "itemDescription": "Rum",
            "rate": 9.85,
            "quantity": 4,
            "amount": 39.4,
            "isDeleted": false
        },
        {
            "guid": "d568eb74-2bfa-4072-ad35-172f13898343",
            "invoiceGuid": "89e6c76c-35fe-4360-95ca-6e4c0eb49bdc",
            "itemDescription": "Brandy",
            "rate": 11.8,
            "quantity": 2,
            "amount": 23.6,
            "isDeleted": false
        },
        {
            "guid": "efb3e968-85da-4643-b56f-13c716dc58d8",
            "invoiceGuid": "89e6c76c-35fe-4360-95ca-6e4c0eb49bdc",
            "itemDescription": "Cigars",
            "rate": 44.89,
            "quantity": 3,
            "amount": 134.67,
            "isDeleted": false
        }
    ],
    "reminders": [
        {
            "guid": "b51d548c-5e03-40a1-bc03-77fd953d643a",
            "invoiceGuid": "89e6c76c-35fe-4360-95ca-6e4c0eb49bdc",
            "reminderType": "5 days before due date",
            "isActive": false,
            "isCompleted": false,
            "reminderDate": "2018-07-20T00:00:00"
        },
        {
            "guid": "e0684cdd-46b7-41fe-9a7b-a5c9e3424565",
            "invoiceGuid": "89e6c76c-35fe-4360-95ca-6e4c0eb49bdc",
            "reminderType": "5 days after due date",
            "isActive": true,
            "isCompleted": false,
            "reminderDate": "2018-07-30T00:00:00"
        }
    ],
    "merchant": {
        "guid": "19344275-985e-4dff-81ee-cb84b8ad356c",
        "mid": "1210000189539040",
        "dba": "AudioBit",
        "legalName": "AudioBit LLC",
        "adminUserGuid": "8a1a455e-60ed-4a0d-a649-44e661d92a27",
        "email": "audiobit@mailinator.com",
        "phone": "9547218212",
        "address1": "151 E 33rd ST",
        "address2": "Second Floor",
        "city": "New York",
        "state": "CO",
        "zipcode": "10016",
        "webhookUrl": "https://audiobit.com",
        "mailingBcc": "maxduplessy@mailinator.com",
        "customerLabel": "patientId",
        "logoUrl": "https://res.cloudinary.com/surepay/image/upload/v1516126617/uxuxkm3odb6lltibyeyj.png",
        "allowsTips": true,
        "status": "Merchant - Active",
        "merchantOwners": [
            {
                "guid": "f1388a86-380e-4294-be5e-04886d7a9801",
                "firstName": "aaa",
                "lastName": "aaa",
                "email": "aaa@aaa.com",
                "phone": "9177874563",
                "address1": "151 E 33rd ST",
                "address2": "Second Floor",
                "city": "New York",
                "state": "MO",
                "zipcode": "10016",
                "country": "US",
                "ownerShipType": "Partnership",
                "ownerShipPercentage": "100.00",
                "status": "MerchantOwner - Active",
                "last4_SSN": "1234"
            },
            {
                "guid": "cd057c76-e237-4515-9b4b-295061598186",
                "firstName": "James",
                "lastName": "Dean",
                "email": "jamesdean@surtech.com",
                "phone": "9177874563",
                "address1": "151 E 33rd ST",
                "address2": "Second Floor",
                "city": "New York",
                "state": "NY",
                "zipcode": "10016",
                "country": "US",
                "ownerShipType": "Partnership",
                "ownerShipPercentage": "100.00",
                "status": "MerchantOwner - Active",
                "last4_SSN": "1234"
            }
        ]
    },
    "invoiceCustomer": {
        "guid": "9dcceb12-f084-4346-a03d-ed46a6c35d4e",
        "customerCode": "GX8426",
        "companyName": "Incutex",
        "firstName": "Albus",
        "lastName": "Dumbledore",
        "address1": "108 8th Av.",
        "address2": "8th Floor",
        "zip": "10008",
        "city": "New York",
        "state": "NY",
        "personalPhone": "9727414574",
        "workPhone": "9177563046",
        "fax": "8004578796",
        "email": "john.lock@mailinator.com"
    },
    "sendBySMS": true,
    "sendToPhoneNumber": "9174355176"
}

Invoice Detail

Add invoice detail

POST/Invoice/Detail

This endpoint add a invoice detail.

Remember you will need to use an authentication token or the API Key in the header request for every transaction.

Headers using token

KeyValue
Content-Type"application/json"
AuthorizationToken. Eg: "Bearer eHSN5rTBzqDozgAAlN1UlTMVuIT1zSiAZWCo6E..."

Headers using API Key

KeyValue
Content-Type"application/json"
UserAuthorizationAPI Key. Eg: "e516b6db-3230-4b1c-ae3f-e5379b774a80"

Query Parameters

ParameterTypeM/C/OValue
InvoiceGuidstringMandatoryInvoice's Guid.
ItemDescriptionstringMandatoryItem Description.
RatedecimalMandatoryRate.
QuantityintegerMandatoryQuantity.
Request
curl -X POST https://apisandbox.surepay.co/api/v1/Invoice/Detail \
  -H "Authorization: Bearer $SUREPAY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "invoiceGuid" : "4be52be2-bedf-4125-b7d5-2ed9ef8d6027",
    "ItemDescription":"Sparkling Wine",
    "Rate":1.95,
    "Quantity": 3
}'
Response
{
    "guid": "13e6a6cb-c7a6-47e1-82da-ec8091b87d48",
    "invoiceGuid": "4be52be2-bedf-4125-b7d5-2ed9ef8d6027",
    "itemDescription": "Sparkling Wine",
    "rate": 1.95,
    "quantity": 3,
    "amount": 5.85,
    "isDeleted": false
}

Create invoice details list

PUT/Invoice/Detail/all/<guid>

This endpoint create a invoice details list.

Remember you will need to use an authentication token or the API Key in the header request for every transaction.

Headers using token

KeyValue
Content-Type"application/json"
AuthorizationToken. Eg: "Bearer eHSN5rTBzqDozgAAlN1UlTMVuIT1zSiAZWCo6E..."

Headers using API Key

KeyValue
Content-Type"application/json"
UserAuthorizationAPI Key. Eg: "e516b6db-3230-4b1c-ae3f-e5379b774a80"

URL Parameters

ParameterDescription
guidInvoice’s guid

Query Parameters

ParameterTypeM/C/OValue
ItemDescriptionstringMandatoryItem Description.
RatedecimalMandatoryRate.
QuantityintegerMandatoryQuantity.
Request
curl -X PUT https://apisandbox.surepay.co/api/v1/Invoice/Detail/all/<guid> \
  -H "Authorization: Bearer $SUREPAY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '[  
    {  
        "ItemDescription":"Wine Malbec",
        "Rate":14.78,
        "Quantity": 8
    },
    {  
        "ItemDescription":"Rum",
        "Rate":9.85,
        "Quantity": 4
    }
]'
Response
{
    "invoiceGuid": "e92d3395-34d8-4472-9ad3-62a183d6b030",
    "timeStamp": "2018-07-04T13:39:28.68-03:00",
    "merchantGuid": "19344275-985e-4dff-81ee-cb84b8ad356c",
    "invoiceCustomerGuid": "9dcceb12-f084-4346-a03d-ed46a6c35d4e",
    "sendDate": "2018-07-20T00:00:00",
    "sendStatus": "Scheduled To be Sent",
    "invoiceRecipientEmail": "john.lock@mailinator.com",
    "paymentTerm": "Custom",
    "dueDate": "2018-07-25T00:00:00",
    "invoiceNumber": "ARG001MAXYTRTU",
    "orderNumber": "0001",
    "amountSubTotal": 157.64,
    "amountDueTotal": 161.47,
    "amountDiscounted": 5,
    "discountValue": 5,
    "discountType": "Fixed",
    "taxRate": 5.785,
    "taxAmount": 8.83,
    "taxZip": "10029",
    "note": "For september services",
    "termsAndConditions": "The ones you accepted when you clicked two pages ago",
    "enhancedData": {
        "saleTax": 5,
        "purchaseOrder": "PURCHSEORDER1",
        "additionalTaxDetailTaxCategory": "tex",
        "additionalTaxDetailTaxType": "regional",
        "additionalTaxDetailTaxAmount": 3,
        "additionalTaxDetailTaxRate": 2.5,
        "shippingCharges": 20,
        "dutyCharges": 17.59,
        "shipToZip": "50001",
        "shipFromZip": "55100",
        "destinationCountryCode": "ARG",
        "customerVATNumber": "75010101",
        "summaryCommodityCode": "Aa94",
        "vatInvoice": "231465214",
        "orderDate": "07/20/2018",
        "supplierReferenceNumber": "123",
        "customerRefID": "123",
        "chargeDescriptor": "lalala"
    },
    "details": [
        {
            "guid": "c4438621-9d16-4434-9ab6-3a6b599ffea6",
            "invoiceGuid": "e92d3395-34d8-4472-9ad3-62a183d6b030",
            "itemDescription": "Wine Malbec",
            "rate": 14.78,
            "quantity": 8,
            "amount": 118.24,
            "isDeleted": false
        },
        {
            "guid": "8dfd0749-0748-4b21-9ebc-af10a72c55ec",
            "invoiceGuid": "e92d3395-34d8-4472-9ad3-62a183d6b030",
            "itemDescription": "Rum",
            "rate": 9.85,
            "quantity": 4,
            "amount": 39.4,
            "isDeleted": false
        }
    ],
    "reminders": [
        {
            "guid": "a56ddc1b-9f4f-4ed7-947b-a654291fcd8a",
            "invoiceGuid": "e92d3395-34d8-4472-9ad3-62a183d6b030",
            "reminderType": "5 days before due date",
            "isActive": true,
            "isCompleted": false,
            "reminderDate": "2018-07-20T00:00:00"
        },
        {
            "guid": "0ddc0b29-ab5d-4bf5-be33-877099789df5",
            "invoiceGuid": "e92d3395-34d8-4472-9ad3-62a183d6b030",
            "reminderType": "5 days after due date",
            "isActive": true,
            "isCompleted": false,
            "reminderDate": "2018-07-30T00:00:00"
        }
    ],
    "merchant": {
        "guid": "19344275-985e-4dff-81ee-cb84b8ad356c",
        "mid": "1210000189539040",
        "dba": "AudioBit",
        "legalName": "AudioBit LLC",
        "adminUserGuid": "8a1a455e-60ed-4a0d-a649-44e661d92a27",
        "email": "audiobit@mailinator.com",
        "phone": "9547218212",
        "address1": "151 E 33rd ST",
        "address2": "Second Floor",
        "city": "New York",
        "state": "CO",
        "zipcode": "10016",
        "webhookUrl": "https://audiobit.com",
        "mailingBcc": "maxduplessy@mailinator.com",
        "customerLabel": "patientId",
        "logoUrl": "https://res.cloudinary.com/surepay/image/upload/v1516126617/uxuxkm3odb6lltibyeyj.png",
        "allowsTips": true,
        "status": "Merchant - Active",
        "merchantOwners": [
            {
                "guid": "f1388a86-380e-4294-be5e-04886d7a9801",
                "firstName": "aaa",
                "lastName": "aaa",
                "email": "aaa@aaa.com",
                "phone": "9177874563",
                "address1": "151 E 33rd ST",
                "address2": "Second Floor",
                "city": "New York",
                "state": "MO",
                "zipcode": "10016",
                "country": "US",
                "ownerShipType": "Partnership",
                "ownerShipPercentage": "100.00",
                "status": "MerchantOwner - Active",
                "last4_SSN": "1234"
            },
            {
                "guid": "cd057c76-e237-4515-9b4b-295061598186",
                "firstName": "James",
                "lastName": "Dean",
                "email": "jamesdean@surtech.com",
                "phone": "9177874563",
                "address1": "151 E 33rd ST",
                "address2": "Second Floor",
                "city": "New York",
                "state": "NY",
                "zipcode": "10016",
                "country": "US",
                "ownerShipType": "Partnership",
                "ownerShipPercentage": "100.00",
                "status": "MerchantOwner - Active",
                "last4_SSN": "1234"
            }
        ]
    },
    "invoiceCustomer": {
        "guid": "9dcceb12-f084-4346-a03d-ed46a6c35d4e",
        "customerCode": "GX8426",
        "companyName": "Incutex",
        "firstName": "Albus",
        "lastName": "Dumbledore",
        "address1": "108 8th Av.",
        "address2": "8th Floor",
        "zip": "10008",
        "city": "New York",
        "state": "NY",
        "personalPhone": "9727414574",
        "workPhone": "9177563046",
        "fax": "8004578796",
        "email": "john.lock@mailinator.com"
    },
    "sendBySMS": true,
    "sendToPhoneNumber": "9174355176"
}

Invoice Reminder

Create invoice reminder

POST/Invoice/Reminder

This endpoint creates a invoice reminder.

Remember you will need to use an authentication token or the API Key in the header request for every transaction.

Headers using token

KeyValue
Content-Type"application/json"
AuthorizationToken. Eg: "Bearer eHSN5rTBzqDozgAAlN1UlTMVuIT1zSiAZWCo6E..."

Headers using API Key

KeyValue
Content-Type"application/json"
UserAuthorizationAPI Key. Eg: "e516b6db-3230-4b1c-ae3f-e5379b774a80"

Query Parameters

ParameterTypeM/C/OValue
InvoiceGuidstringMandatoryInvoice's Guid.
ReminderTypestringMandatoryReminder Type. Allowed values: 1. X days before due date 2. 1 days before due date 3. 5 days before due date 4. 1 week before due date 5. 10 days before due date 6. 2 week before due date 7. X days after due date 8. 1 days after due date 9. 5 days after due date 10. 1 week after due date 11. 10 days after due date 12. 2 week after due date
ReminderDaysValueintegerOptionalReminder Days Value. Only with "X days before due date" or "X days after due date"
Request
curl -X POST https://apisandbox.surepay.co/api/v1/Invoice/Reminder \
  -H "Authorization: Bearer $SUREPAY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "InvoiceGuid" : "d5828cfd-12a6-4a7e-9be6-7c4b11f07dbf",
    "ReminderType" : "2 weeks after due date"
}'
Response
{
    "guid": "a4e4278b-f2de-41d9-8da5-d0aabbf5a385",
    "invoiceGuid": "d5828cfd-12a6-4a7e-9be6-7c4b11f07dbf",
    "reminderType": "2 weeks after due date",
    "isActive": true,
    "isCompleted": false,
    "reminderDate": "2019-08-08T00:00:00"
}

Update invoice reminder

PUT/Invoice/Reminder/<guid>/true

Json Example Response (PUT https://apisandbox.surepay.co/api/v1/Invoice/Reminder//true):

Json Example Response (PUT https://apisandbox.surepay.co/api/v1/Invoice/Reminder//false):

This endpoint updates a invoice reminder.

or

Remember you will need to use an authentication token or the API Key in the header request for every transaction.

Headers using token

KeyValue
Content-Type"application/json"
AuthorizationToken. Eg: "Bearer eHSN5rTBzqDozgAAlN1UlTMVuIT1zSiAZWCo6E..."

Headers using API Key

KeyValue
Content-Type"application/json"
UserAuthorizationAPI Key. Eg: "e516b6db-3230-4b1c-ae3f-e5379b774a80"

URL Parameters

ParameterDescription
guidReminder’s guid to update
Request
curl -X PUT https://apisandbox.surepay.co/api/v1/Invoice/Reminder/<guid>/true \
  -H "Authorization: Bearer $SUREPAY_TOKEN" \
  -H "Content-Type: application/json"
Response
{
    "guid": "a4e4278b-f2de-41d9-8da5-d0aabbf5a385",
    "invoiceGuid": "d5828cfd-12a6-4a7e-9be6-7c4b11f07dbf",
    "reminderType": "2 weeks after due date",
    "isActive": true,
    "isCompleted": false,
    "reminderDate": "2019-08-08T00:00:00"
}

Get invoice reminder

GET/Invoice/Reminder/<guid>/true

Json Example Response (GET https://apisandbox.surepay.co/api/v1/Invoice/Reminder//true):

Json Example Response (GET https://apisandbox.surepay.co/api/v1/Invoice/Reminder//false):

This endpoint gets a invoice reminder.

or

Remember you will need to use an authentication token or the API Key in the header request for every transaction.

Headers using token

KeyValue
AuthorizationToken. Eg: "Bearer eHSN5rTBzqDozgAAlN1UlTMVuIT1zSiAZWCo6E..."

Headers using API Key

KeyValue
UserAuthorizationAPI Key. Eg: "e516b6db-3230-4b1c-ae3f-e5379b774a80"

URL Parameters

ParameterDescription
guidInvoice’s guid to get
Request
curl -X GET https://apisandbox.surepay.co/api/v1/Invoice/Reminder/<guid>/true \
  -H "Authorization: Bearer $SUREPAY_TOKEN"
Response
[
    {
        "guid": "00000000-0000-0000-0000-000000000000",
        "invoiceGuid": "d5828cfd-12a6-4a7e-9be6-7c4b11f07dbf",
        "reminderType": "1 day before due date",
        "isActive": false,
        "isCompleted": false,
        "reminderDate": "0001-01-01T00:00:00"
    },
    {
        "guid": "fbb2633f-0bf4-412b-a51e-edad3fb4b058",
        "invoiceGuid": "d5828cfd-12a6-4a7e-9be6-7c4b11f07dbf",
        "reminderType": "5 days before due date",
        "isActive": true,
        "isCompleted": false,
        "reminderDate": "2019-07-20T00:00:00"
    },
    {
        "guid": "00000000-0000-0000-0000-000000000000",
        "invoiceGuid": "d5828cfd-12a6-4a7e-9be6-7c4b11f07dbf",
        "reminderType": "1 week before due date",
        "isActive": false,
        "isCompleted": false,
        "reminderDate": "0001-01-01T00:00:00"
    },
    {
        "guid": "00000000-0000-0000-0000-000000000000",
        "invoiceGuid": "d5828cfd-12a6-4a7e-9be6-7c4b11f07dbf",
        "reminderType": "10 days before due date",
        "isActive": false,
        "isCompleted": false,
        "reminderDate": "0001-01-01T00:00:00"
    },
    {
        "guid": "00000000-0000-0000-0000-000000000000",
        "invoiceGuid": "d5828cfd-12a6-4a7e-9be6-7c4b11f07dbf",
        "reminderType": "2 weeks before due date",
        "isActive": false,
        "isCompleted": false,
        "reminderDate": "0001-01-01T00:00:00"
    },
    {
        "guid": "00000000-0000-0000-0000-000000000000",
        "invoiceGuid": "d5828cfd-12a6-4a7e-9be6-7c4b11f07dbf",
        "reminderType": "1 day after due date",
        "isActive": false,
        "isCompleted": false,
        "reminderDate": "0001-01-01T00:00:00"
    },
    {
        "guid": "cf7f8d0a-7540-43de-b637-09f7dec0a273",
        "invoiceGuid": "d5828cfd-12a6-4a7e-9be6-7c4b11f07dbf",
        "reminderType": "5 days after due date",
        "isActive": true,
        "isCompleted": false,
        "reminderDate": "2019-07-30T00:00:00"
    },
    {
        "guid": "00000000-0000-0000-0000-000000000000",
        "invoiceGuid": "d5828cfd-12a6-4a7e-9be6-7c4b11f07dbf",
        "reminderType": "1 week after due date",
        "isActive": false,
        "isCompleted": false,
        "reminderDate": "0001-01-01T00:00:00"
    },
    {
        "guid": "00000000-0000-0000-0000-000000000000",
        "invoiceGuid": "d5828cfd-12a6-4a7e-9be6-7c4b11f07dbf",
        "reminderType": "10 days after due date",
        "isActive": false,
        "isCompleted": false,
        "reminderDate": "0001-01-01T00:00:00"
    },
    {
        "guid": "00000000-0000-0000-0000-000000000000",
        "invoiceGuid": "d5828cfd-12a6-4a7e-9be6-7c4b11f07dbf",
        "reminderType": "2 weeks after due date",
        "isActive": false,
        "isCompleted": false,
        "reminderDate": "0001-01-01T00:00:00"
    }
]

Hosted Payment Page

Hosted Payment Page

POST/HostedPaymentPageRequests

If the transaction gets approved the user will be redirected back to your site, sending a POST to the SuccessURL with the following parameters.

If the transaction goes wrong the user will be redirected back to your site, sending a POST to OtherURL with the following parameters

The hosted payment page feature allows online and small merchants to redirect via a checkout button at their website visitors who wish to purchase items, pay invoices or make any type or transaction credit or ACH (if enabled).

To do this, simply POST to the following address using the following parameters and get your temporal token back. Then GET to our Hosted Payment Page using that temporal token and we care about the rest. This streamlines the checkout process and helps protect shoppers’ sensitive payment account data.

Enjoy a seamless checkout experience that automatically routes them to a secure page, branded with your company name. The customer enters their payment data directly into our server, releasing you of the responsibility of receiving, storing and transmitting sensitive cardholder data.

If the transaction gets approved the user will be redirected back to your site, sending a POST to the SuccessURL with the parameters on the Json sample.

If the transaction goes wrong the user will be redirected back to your site, sending a POST to OtherURL with the parameters on the Json sample.

Go to https://websandbox.surepay.co/hosted-payment/{{tempToken}}

Headers using token

KeyValue
Content-Type"application/json"
AuthorizationToken. Eg: "Bearer eHSN5rTBzqDozgAAlN1UlTMVuIT1zSiAZWCo6E..."

Headers using API Key

KeyValue
Content-Type"application/json"
UserAuthorizationAPI Key. Eg: "e516b6db-3230-4b1c-ae3f-e5379b774a80"

Query Parameters

ParameterTypeM/C/OValue
DeviceCreditCardGuidstringMandatoryDevice's guid Credit Card.
DeviceAchGuidstringMandatoryDevice's guid Ach.
MerchantnamestringMandatoryMerchant's name.
DescriptionstringMandatoryItems description.
AmountstringMandatoryItems total amount.
OtherURLstringMandatoryWeb page you want to redirect the user in case something failed.
SuccessURLstringMandatoryWeb page you want to redirect the user when transaction was successful.
CancelURLstringMandatoryWeb page you want to redirect the user in case he decided to cancel the transaction.
OtherInfostringOptionalAny alphanumeric code you might want to send to see it on the confirmation's response to keep track of your sales.
IsButtonbooleanOptionalDetermines if the hosted payment page request will be used as a button (allows multiple payments for the same request or not).
ButtonLabelstringOptionalThis will be the text shown on your button (For example: "Pay here", "Donate").
HtmlstringoptionalProvide the html code you will use to share the button on your website.
CustomerobjectOptionalSee Customer.
RecurringBillingobjectOptionalSee Recurring Billing for details.
InvoiceobjectOptionalSee Invoice for details.
CustomFieldConfigurationsobjectOptionalSee Custom Field Configurations.
Request
curl -X POST https://apisandbox.surepay.co/api/v1/HostedPaymentPageRequests \
  -H "Authorization: Bearer $SUREPAY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "DeviceCreditCardGuid": "4b5013f7-b275-4929-8e83-0167c6edf639",
    "DeviceAchGuid": "386ac1e6-250d-4866-b283-248c1e9340ef",
    "Merchantname": "StarCoffe",
    "Description": "coffe latte",
    "Amount": "7.50",
    "OtherURL": "http://StarCoffe/other",
    "SuccessURL": "http://StarCoffe/success",
    "CancelURL": "http://StarCoffe/cancel",
    "OtherInfo": "Energy tax",
    "Customer": {
        "FirstName": "Max",
        "LastName": "Duplessy",
        "Phone": "8741234745",
        "City": "New York",
        "State": "NY",
        "Email": "maxduplessy@mailinator.com",
        "Address1": "110 10th Av.",
        "Address2": "",
        "Zip": "10016"
    }
}'
Response
{
    "merchantname": "StarCoffe",
    "description": "coffe latte",
    "amount": 7.50,
    "otherURL": "http://StarCoffe/other",
    "successURL": "http://StarCoffe/success",
    "cancelURL": "http://StarCoffe/cancel",
    "tempToken": "69337810-182e-4afe-a9d9-7268def789c7",
    "expiration": "2120-11-26T15:01:06.75",
    "otherInfo": "Energy tax",
    "customer": {
        "guid": "8144d441-acf2-4549-98cb-bab762675423",
        "firstName": "Max",
        "lastName": "Duplessy",
        "address1": "110 10th Av.",
        "address2": "",
        "zip": "10016",
        "city": "New York",
        "state": "NY",
        "phone": "8741234745",
        "email": "maxduplessy@mailinator.com"
    }
}

Custom Field Configurations

Create Custom Field Configurations

Query Parameters

ParameterTypeM/C/OValue
numberintegerMandatorySequential identifier or position number of the custom field configuration.
labelstringMandatoryDisplay name or label shown for the custom field.
requiredbooleanMandatoryIndicates whether the custom field must be completed by the user.
typestringMandatoryDefines the custom field type. Allowed values are: Text or Dropdown.
dropDownValuesstringMandatoryList of selectable values available when the field type is Dropdown. Use an empty array for non-dropdown fields.
disabledbooleanMandatoryIndicates whether the custom field is disabled and cannot be edited or used.
valuestringOptionalDefault value.
Request
"customFieldConfigurations": [
  {
    "number": 1,
    "label": "Customer Name",
    "required": true,
    "type": "Text",
    "dropDownValues": [],
    "disabled": false
  },
  {
    "number": 2,
    "label": "Department",
    "required": true,
    "type": "Dropdown",
    "dropDownValues": [
      "Sales",
      "Finance",
      "Operations"
    ],
    "disabled": false,
    "value": "Finance"
  }
]

Payment Token JS

Payment Token JS

Integration example for script tag:

Integration example for your script:

Response examples:

Example form page for integration:

Token JS is a JavaScript framework that allows merchants to collect credit card information from their customers without exposing their website to PCI compliance and therefore avoiding the requirements of PCI.

This can be done while allowing merchants to retain full control over the look and feel of their checkout experience.

This is a data collection and tokenization system, not a full payments API, once a token is obtained you would need to integrate to the standard payment API but rather than collecting full credit card information, the merchant will submit the token obtained by the Token.js system.

https://websandbox.surepay.co/assets/payment/Token.js

https://webportal.surepay.co/assets/payment/Token.js

Script tag properties

PropertyM/C/OValueDescription
srcMandatoryToken js urlURL location of the JavaScript code to import into your solution.
idMandatorygtwPaymentA mandatory field that represents the script tag name to be used on your checkout page.
user-api-keyMandatoryApi KeyUser API Key issued by your gateway processor.
merch-device-guidMandatoryDevice GuidDevice GUID issued by your gateway processor.
merch-sys-alertOptionaltrue/falseWhen enabled system will display an error alert for any exceptions or errors. If set to false, ISV should handle events at checkout.
merch-style-classOptionalstringName of the class you wish to apply to input text boxes to match your checkout pages look and feel.
sys-environmentMandatorysandbox/productionThis value identifies the environment to use.

No request body.

Appendix

Card

Query Parameters

ParameterTypeM/C/OValue
CardNumberstringMandatoryCard number. Must be 16 characters. (example: 4532538795426624) or token (example: FfL7exC7Xe2y6624). See token.
CardHolderNamestringOptionalCardholder's name.
Cvv2integerOptionalThis is the three or four digit CVV code at the back side of the credit and debit card.
ExpirationDatedateMandatoryCard's expiry date in the YYMM format.
CustomerobjectOptionalSee Customer.

No request body.

Test Cards

Parameters

VISAMASTERCARDDiscoverAmex
401200009876543951463150000000556011000993026909371449635392376
40128818888188885146312200000035
471678310283852952822651902608906011960117941160377027056060401
4444333322221111553635067853046138555565010005370295101114559
428401740996866955500000000000036011027500001232
404976540653724455250000000000546011201300002340
47784997027837355146350000000003
40000000000000025146312400000025
48186904801366155146312200000035
40055780000008385146312620000045
5146315000000055
5146311340000061
5146311550000066
5499740000000057
5146312800000070
5146312700000071
5272320502277140

No request body.

CVV

Parameters

Card BrandColumn 2Column 3
Visa999
MasterCard998
Discover996
Amex9997

No request body.

BankAccount

Query Parameters

ParameterTypeM/C/OValue
RoutingNumberintegerMandatoryRouting's number. Must be 9 characters (example: 490000018).
AccountNumberintegerMandatoryAccount's number.
NameOnAccountstringMandatoryAccount's name.
CustomerobjectOptionalSee Customer.

No request body.

Customer

Query Parameters

ParameterTypeM/C/OValue
FirstNamestringOptionalCustomer's first name.
LastNamestringOptionalCustomer's last name.
PhoneintegerOptionalCustomer's phone number. The phone number must be syntactically correct. For example, 4152345678.
CitystringOptionalCustomer's city.
StatestringOptionalCustomer's short name state. The ISO 3166-2 CA and US state or province code of a customer. Length = 2.
CountrystringOptionalCustomer's country. The ISO country code of a customer’s country. Length = 2 or 3.
EmailstringOptionalCustomer's valid email address.
Address1stringOptionalCustomer's address.
Address2stringOptionalCustomer's address line 2.
ZipintegerOptionalCustomer's zipcode. Length = 5.
DateOfBirthdateOptionalCustomer's date of birth. Allowed format: YYYY-MM-DD. For example: 2002-05-30
DriverLicenseNumberintegerOptionalCustomer's driver license number.
DriverLicenseStatestringConditionalCustomer's driver license short name state. The ISO 3166-2 CA and US state or province code of a customer. Length = 2. Mandatory when DriverLicenseNumber is provided.
SSN4integerConditionalCustomer's social security number. Mandatory when DOB is not submitted.

No request body.

EnhancedData

Query Parameters

ParameterTypeM/C/OValue
SaleTaxdecimalOptionalTransaction's amount.
AdditionalTaxDetailTaxCategorystringOptionalTax Category.
AdditionalTaxDetailTaxTypestringOptionalTax Type.
AdditionalTaxDetailTaxAmountdecimalOptionalTax Amount.
AdditionalTaxDetailTaxRatedecimalOptionalTax Rate.
PurchaseOrderstringOptionalPurchase Order.
OrderDatedateOptionalOrder Date.
ShippingChargesdecimalOptionalShipping Charges.
DutyChargesdecimalOptionalDuty Charges.
CustomerVATNumberintegerOptionalCustomer VAT Number.
VATInvoiceintegerOptionalVAT Invoice.
SummaryCommodityCodestringOptionalSummary Commodity Code.
ShipToZipintegerOptionalShip To Zip.
ShipFromZipintegerOptionalShip From Zip.
DestinationCountryCodestringOptionalDestination Country Code.
SupplierReferenceNumberintegerOptionalSupplier Reference Number.
CustomerRefIDintegerOptionalCustomer Ref ID.
ChargeDescriptorstringOptionalCharge Descriptor.
AdditionalAmountdecimalOptionalAdditional Amount.
AdditionalAmountTypestringOptionalAdditional Amount Type.
ProductNamestringOptionalProduct Name.
ProductCodestringOptionalProduct Code.
PricestringOptionalPrice.

No request body.

Details

Query Parameters

ParameterTypeM/C/OValue
ItemDescriptionstringMandatoryItem Description.
RatedecimalMandatoryRate.
QuantityintegerMandatoryQuantity.

No request body.

Level 2 & Level 3

Level 2 and Level 3 rates apply exclusively to commercial card products (not standard consumer credit/debit).

Supported on most commercial credit products (business, corporate, purchasing, government) for B2B/B2G transactions; requires mid‑level fields such as tax amount.

Restricted to purchasing, corporate, fleet, and government cards used in B2B/B2G; requires detailed line‑item data such as Product code, quantity, shipping charges, ship‑to & from zip, etc.

Business (small‑business) credit cards issued to companies for expenses Corporate cards (T&E, general corporate spend) Purchasing / procurement cards (P‑cards) Fleet cards (fuel, vehicle expenses, often a purchasing sub‑type) Government/commercial purchasing cards used by public sector entities

Consumer personal credit cards (classic, gold, platinum, rewards) Consumer debit cards (online PIN, offline/signature debit) Prepaid and gift cards For these card types, even if you submit Level 2/3 fields, the networks treat them as standard Level 1 transactions and apply normal consumer interchange. ​

The fields that qualify a transaction for Level 2 Interchange rates are:

The fields that qualify a transaction for Level 3 Interchange rates are:

Allowed Values:

ABW, AFG, AGO, AIA, ALA, ALB, AND, ARE, ARG, ARM, ASM, ATA, ATF, ATG, AUS, AUT, AZE, BDI, BEL, BEN, BFA, BGD, BGR, BHR, BHS, BIH, BLM, BLR, BLZ, BMU, BOL, BRA, BRB, BRN, BTN, BVT, BWA, CAF, CAN, CCK, CHE, CHL, CHN, CIV, CMR, COD, COG, COK, COL, COM, CPV, CRI, CUB, CXR, CYM, CYP, CZE, DEU, DJI, DMA, DNK, DOM, DZA, ECU, EGY, ERI, ESH, ESP, EST, ETH, FIN, FJI, FLK, FRA, FRO, FSM, GAB, GBR, GEO, GGY, GHA, GIB, GIN, GLP, GMB, GNB, GNQ, GRC, GRD, GRL, GTM, GUF, GUM, GUY, HKG, HMD, HND, HRV, HTI, HUN, IDN, IMN, IND, IOT, IRL, IRN, IRQ, ISL, ISR, ITA, JAM, JEY, JOR, JPN, KAZ, KEN, KGZ, KHM, KIR, KNA, KOR, KWT, LAO, LBN, LBR, LBY, LCA, LIE, LKA, LSO, LTU, LUX, LVA, MAC, MAF, MAR, MCO, MDA, MDG, MDV, MEX, MHL, MKD, MLI, MLT, MMR, MNE, MNG, MNP, MOZ, MRT, MSR, MTQ, MUS, MWI, MYS, MYT, NAM, NCL, NER, NFK, NGA, NIC, NIU, NLD, NOR, NPL, NRU, NZL, OMN, PAK, PAN, PCN, PER, PHL, PLW, PNG, POL, PRI, PRK, PRT, PRY, PSE, PYF, QAT, REU, ROU, RUS, RWA, SAU, SDN, SEN, SGP, SGS, SHN, SJM, SLB, SLE, SLV, SMR, SOM, SPM, SRB, STP, SUR, SVK, SVN, SWE, SWZ, SYC, SYR, TCA, TCD, TGO, THA, TJK, TKL, TKM, TLS, TON, TTO, TUN, TUR, TUV, TWN, TZA, UGA, UKR, UMI, URY, USA, UZB, VAT, VCT, VEN, VGB, VIR, VNM, VUT, WLF, WSM, YEM, ZAF, ZMB, ZWE, AD, AE, AF, AG, AI, AL, AM, AO, AQ, AR, AS, AT, AU, AW, AX, AZ, BA, BB, BD, BE, BF, BG, BH, BI, BJ, BL, BM, BN, BO, BR, BS, BT, BV, BW, BY, BZ, CA, CC, CD, CF, CG, CH, CI, CK, CL, CM, CN, CO, CR, CU, CV, CX, CY, CZ, DE, DJ, DK, DM, DO, DZ, EC, EE, EG, EH, ER, ES, ET, FI, FJ, FK, FM, FO, FR, GA, GB, UK, GD, GE, GF, GG, GH, GI, GL, GM, GN, GP, GQ, GR, GS, GT, GU, GW, GY, HK, HM, HN, HR, HT, HU, ID, IE, IL, IM, IN, IO, IQ, IR, IS, IT, JE, JM, JO, JP, KE, KG, KH, KI, KM, KN, KP, KR, KW, KY, KZ, LA, LB, LC, LI, LK, LR, LS, LT, LU, LV, LY, MA, MC, MD, ME, MF, MG, MH, MK, ML, MM, MN, MO, MP, MQ, MR, MS, MT, MU, MV, MW, MX, MY, MZ, NA, NC, NE, NF, NG, NI, NL, NO, NP, NR, NU, NZ, OM, PA, PE, PF, PG, PH, PK, PL, PM, PN, PR, PS, PT, PW, PY, QA, RE, RO, RS, RU, RW, SA, SB, SC, SD, SE, SG, SH, SI, SJ, SK, SL, SM, SN, SO, SR, ST, SV, SY, SZ, TC, TD, TF, TG, TH, TJ, TK, TL, TM, TN, TO, TR, TT, TV, TW, TZ, UA, UG, UM, US, UY, UZ, VA, VC, VE, VG, VI, VN, VU, WF, WS, YE, YT, ZA, ZM, ZW, BES, BQ, CUW, CW, SXM, SX, SSD, SS, ANT, AN, PRK

Qualifying Level 2 Fields

FieldVisaMastercardAMEXAdditional Comments
AmountRequiredRequiredRequiredFormat: Numeric Max Length=12 Allowed characters: 0-9 .(dot)
EnhancedData.saleTaxRequiredRequiredRequiredFormat: Numeric Max Length=12 Allowed characters: 0-9 .(dot)
EnhancedData.CardLevelRequiredRequiredRequiredFormat: Numeric Allowed Values: 2,3 Description: For Level 2 send value of 2
EnhancedData.purchaseOrderRequiredRequiredNot SupportedFormat: Alphanumeric Min Length=0 Max Length=25 Allowed characters: a-z A-Z 0-9 Space
EnhancedData.chargeDescriptorNot SupportedNot SupportedRequiredFormat: Alphanumeric and Special Character Min Length=0 Max Length=40 Description: Displays descriptive information about a transaction on a customer's AMEX statement.
EnhancedData.customerRefIDNot SupportedNot SupportedRequiredFormat: Alphanumeric and Special Character Min Length=0 Max Length=17 a-z A-Z 0-9 Space <>
EnhancedData.supplierReferenceNumberNot SupportedNot SupportedOptionalFormat: Alphanumeric and Special Character Min Length=0 Max Length=9 Allowed characters: a-z A-Z 0-9 Space <> Description: This field contains a reference number that is used by American Express to obtain supporting information on a charge from a merchant. The number can be any combination of characters and numbers defined by the merchant.
EnhancedData.shipToZipNot SupportedNot SupportedOptionalFormat: Alphanumeric Min Length=2 Max Length=10

Qualifying Level 3 Fields

FieldVisaMastercardAdditional Comments
AmountRequiredRequiredFormat: Numeric Max Length=12 Allowed characters: 0-9 .(dot)
EnhancedData.saleTaxRequiredRequiredFormat: Numeric Max Length=12 Allowed characters: 0-9 .(dot) Note: If a decimal point is included, the amount reflects a dollar value. If a decimal point is not included, the amount reflects a cent value.
EnhancedData.AdditionalTaxDetailTaxTypeOptionalOptionalFormat: Alphanumeric and Special Character Description: The type of tax. For example, VAT, NATIONAL, Service Tax.
EnhancedData.AdditionalTaxDetailTaxAmountOptionalOptionalFormat: Numeric Max Length=12 Allowed characters: 0-9 .(dot) Note: If a decimal point is included, the amount reflects a dollar value. If a decimal point is not included, the amount reflects a cent value.
EnhancedData.AdditionalTaxDetailTaxRateOptionalOptionalFormat: Decimal Number Max Length=4 Allowed characters: 0-9 .(dot) Allowed range: 0.01 - 100
EnhancedData.AdditionalTaxDetailTaxCategoryOptionalOptionalFormat: Alphanumeric Enumeration: Allowed Values: SERVICE, DUTY, VAT, ALTERNATE, NATIONAL, TAX_EXEMPT Description: The type of tax.
EnhancedData.shippingChargesOptionalOptionalFormat: Numeric Max Length=12 Allowed characters: 0-9 .(dot) Note: If a decimal point is included, the amount reflects a dollar value. If a decimal point is not included, the amount reflects a cent value.
EnhancedData.dutyChargesOptionalOptionalFormat: Numeric Max Length=12 Allowed characters: 0-9 . (dot) Note: If a decimal point is included, the amount reflects a dollar value. If a decimal point is not included, the amount reflects a cent value.
EnhancedData.CardLevelRequiredRequiredFormat: Numeric Allowed Values: 2, 3 Description: For Level 3 send value of 3
EnhancedData.purchaseOrderRequiredRequiredFormat: Alphanumeric Min Length=0 Max Length=25 Allowed characters: a-z A-Z 0-9 Space
EnhancedData.customerVATNumberOptionalNot SupportedFormat: Alphanumeric and Special Character Min Length=0 Max Length=13 a-z A-Z 0-9 Space <> Description: Indicates the customer's government assigned tax identification number or the identification number assigned to their purchasing company by the tax authorities.
EnhancedData.orderDateRequiredRequiredFormat: Alphanumeric and Special Character Min Length=0 Max Length=10 Allowed format: MM/DD/YYYY For example: 12/01/2016
EnhancedData.summaryCommodityCodeOptionalOptionalFormat: Alphanumeric and Special Character Min Length=0 Max Length=4 Allowed character: a-z A-Z 0-9 Space <> Description: The international description code of the overall goods or services being supplied.
EnhancedData.vatInvoiceOptionalOptionalFormat: Alphanumeric and Special Character Min Length=0 Max Length=15 Allowed character: a-z A-Z 0-9 Space <> Description: The Value Added Tax (VAT) invoice number associated with the transaction.
EnhancedData.shipFromZipOptionalOptionalFormat: Alphanumeric Min Length=2 Max Length=10
EnhancedData.shipToZipOptionalOptionalFormat: Alphanumeric Min Length=2 Max Length=10
EnhancedData.destinationCountryCodeOptionalOptionalFormat: Alphanumeric Enumeration: Allowed Values: See country codes.
EnhancedData.productCodeRequiredRequiredFormat: Alphanumeric and Special Character Min Length=1 Max Length=20 Allowed special characters: (Space) , / , -
EnhancedData.productNameRequiredRequiredFormat: Alphanumeric and Special Character Min Length=1 Max Length=50 Allowed special characters: (Space) <> , Slash / , Hyphen <-> , Comma <,>
EnhancedData.priceRequiredRequiredFormat: Numeric Max Length=12 Allowed characters: 0-9 .(dot)
EnhancedData.quantityRequiredRequiredFormat: Decimal Number Max Length=12
EnhancedData.productCommodityCodeOptionalNot SupportedFormat: Alphanumeric Min Length=0 Max Length=12 Allowed characters: a-z A-Z 0-9 (Space)
EnhancedData.measurementUnitRequiredRequiredFormat: Alphanumeric and Special Character Min Length=0 Max Length=20

No request body.

Declined Response Codes

CodeResponse MessageDescription
D0001Duplicate Request (Approved previously)The transaction was already performed and approved. Verify if the request was submitted twice for the same transaction ID or external reference number.
D0003Duplicate Request (Declined previously)The transaction was already performed and declined. Verify if the request was submitted twice for the same transaction ID or external reference number.
D0004Reversal Not AllowedThe transaction is not authorized for reversal. This error may occur because the transaction was not settled, was declined, or already reversed.
D0005Return Not AllowedThe transaction is not authorized for return. This error may occur because the transaction was not settled, was declined, or already reversed.
D0006Supervisor Override Required
D0007Modify Transaction Not AllowedThe transaction is not authorized for modification. This error may occur because the transaction was already settled, or was declined.
D0008Possible Duplicate RequestThis is a duplicate request. The credentials for this transaction (i.e. amount, card number or same service) are the same as another transaction submitted less than one minute apart.
D0009Duplicate Request (Reversed previously)The request with the same credentials (amount, card number, or same service) hit the server twice within a minute.
E0010Inactive Device (Terminal)The device is not registered, or is inactive in the system.
E0011Device (Terminal) Configuration missingThe configuration parameter is missing.
E0012Insufficient privileges
E0013Incremental Auth Not Allowed
E0015Unable to process your request. Settlement InProgress.The transaction settlement is in progress.
E0016Functionality currently not available.The functionality is not supported.
E0020Inactive Merchant (Account)The merchant is not registered, or is inactive in the system.
E0021Merchant (Account) configuration missingThe configuration parameter is missing.
E0022Processor configuration missingThe processor parameter is missing.
D0023Merchant already active
E0030Unique ID Error The terminal unique ID is invalid, or is not registered in the system.
D0050Inactive terminal (Backend)The device is inactive, or is not registered at the host.
D0060Inactive account (Backend)The account is inactive, or is not registered at the host.
D0070Unique ID Error (Backend)The terminal unique ID is invalid, or is not registered at the host.
D0080Duplicate Request (Backend)This is a duplicate transaction. This transaction was already approved and processed.
D0090Reversal Not Allowed (Backend)The transaction is not authorized for reversal. This error may occur because the transaction was settled, declined, or already reversed.
D0091Return Not Allowed (Backend)The transaction is not authorized for return. This error may occur because the transaction was settled, declined, or already reversed.
D0092Request Format Error (Backend)
D0093Encryption failure from host
D0094Return not allowed, Card number requested does not match with original transaction card number
D0095Invalid taskID
D0096Currency code mismatch with original transaction
D0097Multiple amount format in single request not supported
D0098Multiple tax with same tax type is not allowed.A request includes multiple tax with same tax type.
E0110System Error (BillParam)
E0111System Error (UBillACC)
E0200System Error (Tran)
E0201System Error (BillpayTran)
E0202System Error (CardTran)
E0203System Error (CheckTran)
E0204System Error (MTTran)
E0205System Error (MOTran)
E0206System Error (AccTran)
E0207System Error (Shipping_Info Tran)
E0208System Error (Products Tran)
E0209System Error (Override Tran)
E0210System Error (PayMode Tran)
E0300System Error (UTran)
E0301System Error (BillpayUTran)
E0302System Error (CardUTran)
E0303System Error (CheckUTran)
E0304System Error (MTUTran)
E0305System Error (MoUTran)
E0306System Error (ACCUTran)
E0310System Error (BillPay WAY UTran)
E0311System Error (BillPay WAY Seq)
E0350System Error (UTranStatus)
E0360System Error (PERIUTran)
E0370System Error (SearchTran)
E0380System Error (chkc history)
E0400System Error (Login)
E0450System Error (NoFee)
E0451System Error (GetFEE)
E0460System Error (EXRate)
E0470System Error (PhCountry)
E0480System Error (PrePay Number)
E0481System Error (PrePay update)
E0482System Error (PrePay List)
E0490System Error (Bin Lookup)
E0491System Error (Merchant Bin Lookup)
E0500System Error (BrdCorp)
E0501System Error (BrdMer)
E0502System Error (Upate DeviceProc)
E0503System Error (Upate MerchProductProc)
E0504System Error (Upate LogoProc)
E0510System Error (Upate MerchantProc)
E0511System Error (Upate OperatorProc)
E0550System Error (Search Corporation)
E0551System Error (Search Merchant)
E0560System Error (Modify Schedule)
E0561System Error (Modify Payment)
E0600System Error (CCust)
E0601System Error (CCustID)
E0610System Error (UCust)
E0611System Error (UCustID)
E0620System Error (SCust)
E0621System Error (CustDt)
E0630System Error (ECustACC)
E0631System Error (ECust)
E0632System Error (Deactivate Cust Account)
E0650System Error (CRec)
E0651System Error (CRecID)
E0660System Error (URec)
E0661System Error (URecID)
E0670System Error (SRec)
E0671System Error (RecDt)
E0672System Error (CAdminTran)
E0673System Error (BoardFee)
E0713Transaction Key ExpiredTransaction Key provided in request is expired. Register new key with our system.
E0720System Error(Async Insert)
E0721System Error (Async Update)
E0722System Error (Async Call Fail)
E0723System Error (Async Select Fail)
E0724System Error (Key Gen Fail)System Error. Please contact help desk.
E0800System Error (KeyNox Error)
E0910Time out
E0911System Error
E0912Error on Host
D1001Account Number InvalidAccount number provided in request is not a valid account number.
D1002Valid Account, Cash payments only.
D1003Amount invalid.
D1004Biller ID Invalid.Biller ID provided in request is not valid.
D1005Cash only biller.
D1006Bill Pay Processor Code is missing or is incorrect. Processing host is not configured please contact help desk.
D1007One or more Fields missing or incorrect.
D1020Pre Pay Number not available.
D1201Unable to determine merchant ID.Merchant is not register with Mobilozophy.
D1202Unable to process your request.
D1203Invalid redemption code.Redemption code provided in request is invalid.
D1204Unable to determine coupon ID.Unable to determine coupon ID.
D1205Coupon not valid at this location.Coupon not valid at this location.
D1206Minimum Purchase Amount criteria not met.Minimum Purchase Amount criteria not met.
D1207Either end user ID or registration ID is required.Either end user ID or registration ID is required.
D1208Unable to modify coupon.Modification of coupon data is not allowed.
D1209Unable to modify coupon.Modification of coupon data is not allowed.
D1210Unable to modify coupon.Modification of coupon data is not allowed.
D1211Unable to modify coupon.Modification of coupon data is not allowed.
D1212This code has already been redeemed.This code has already been redeemed.
D1213This code has been deleted.This code has been deleted.
D1214Invalid store ID.Invalid store ID.
D1215Invalid amount.Amount provided in request is invalid.
D1217Coupon service is temporarily unavailable.Coupon service is temporarily unavailable.
D1999General Bill Pay Decline.General declined please contact help desk.
D2001Refer to Issuer.The merchant must call the issuer to obtain verbal authorization.
D2002Suspected Card (pick-up, hot-card)This credit card has been flagged for fraud. the merchant should call the number on the back of the card to obtain further instructions. Suspected card error occurs in the following scenarios: 1-The card is restricted by the issuer 2-Loss of card is reported 3-Theft of card is reported
D2003Honor with identification?The card is not identified.
D2004Invalid AmountThe amount exceeds the limits established by the issuer for this type of transaction.
D2005Invalid CardThe issuer indicates that this card is invalid.
D2006No such issuerThe card issuer number is invalid.
D2007Invalid feeThe transaction fee is unacceptable.
D2008Incorrect PinThe PIN entered by the cardholder is incorrect.
D2009Pin attempts exceededThe number of attempts to enter the PIN has exceeded.
D2010Key synchronization failed from the hostThe failure of a key synchronization from the host.
D2011Expired CardThe card has expired.
D2012Insufficient FundsThe credit limit for this account has exceeded, or the amount is not enough to perform the transaction.
D2013Invalid From AccountThe transaction account is invalid.
D2014Invalid To AccountThe transaction account is invalid.
D2015Withdrawal Limit exceededThe withdrawal limit on an account is exceeded.
D2016Withdrawal frequency exceededThe withdrawal frequency on an account is exceeded.
D2017Time limit for Pre-Auth reachedThe time for Pre-Auth has reached its limit.
D2018AVS FAILEDThe address verification has failed and the merchant is configured for auto decline on AVS failure.
D2019Billing ZIP MismatchThe zip provided does not match the billing address on file and merchant is configured for auto decline on ZIP code mismatch.
D2020CVV2 verification failedThe V code provided is invalid or does not match what is on file and merchant set up for auto decline on CVV2 failure.
D2021Issuer or Switch inoperativeThe bank is unavailable to authorize this transaction.
D2022Duplicate transaction ( Same amount / Account)The transaction with same amount and account is performed twice.
D2023Balance unavailable for inquiryThe balance cannot be validated.
D2024Check Digit ErrThe credit card number entered did not pass validation. Correct and re-enter the credit card number.
D2025Excluded Bin ID for MerchantCard is not allowed to do transaction at this merchant.
D2026Do not honorThe transaction was declined by the issuer.
D2027AVS and CVV2 failedThe address verification and V code verification failed and merchant set up for auto decline on AVS anc CVV2 failure.
D2028Invalid DateThe credit card expiration date is invalid. Verify and re-enter the expiration date.
D2029Invalid ServiceThe service provided by the card is invalid.
D2030Host Validation ErrorThe host is an invalid host.
D2031Activity Limit exceededThe daily card activity limit has been exceeded.
D2032Cannot complete because of ViolationThe transaction cannot be completed because the credit card account has been flagged with a violation.
D2033Debit Pin Required
D2034Debit Pin RequiredThe BIN is blocked by the issuer.
D2035Check Service authentication failure
D2039Could Not Retrieve a Valid Card Number for Token
E2042No Card found for the BIN No Card found for the BIN
D2200UNKNOWN_ERROR
D2201CONTENT_TYPE_NOT_SET
D2202UNKNOWN_CONTENT_TYPE
D2203CONTENT_LENGTH_NOT_SET
D2204INCOMING_REQUEST_READ_ERROR
D2205OUTGOING_RESPONSE_SEND_ERROR
D2206INPUT_VALIDATION_ERROR
D2208OCT_FAILED
D2209AFT_FAILED
D2210AFTR_FAILED
D2211REMOTE_VPP_ERROR
D2212INVALID_ISSUER_COUNTRY_CODE
D2213FAST_FUNDS_NOT_ENABLED
D2214INTERNAL_ERROR
D2215ACNL_FAILED
D2216ReceiverLimitExceeded
D2800Invalid FCS ID
D2801Invalid Voucher Serial Number
D2802Invalid Voucher Approval Code
D2803Electronics Benefit Transactions cannot contain Fee or Tax
D2998PreFraudScout DeclineTransaction is declined in Pre Fraud rules.
D2999General Card Auth DeclineThis is a general decline error.
D3001Invalid Bank Routing NumberInvalid routing number in the request message.
D3002Invalid Bank Account NumberThe bank account number in the request message is invalid.
D3003Invalid MICR DataThe MICR data in the request message is invalid.
D3004Invalid Account TypeThe account type in the request message is invalid.
D3005Invalid Check TypeThe check type in the request message is invalid.
D3006Invalid AmountThe amount for a transaction is invalid.
D3007Missing Signature
D3008Missing Endorsement
D3009Invalid Check DateThe date format in the request message is invalid.
D3010Car Lar MismatchMismatch between the check amount written in numbers (courtesy amount) and letters (legal amount) provided on check image.
D3011CallNox Timeout
D3012Duplicate Check
D3013Blocked AccountThe account provided in transaction is blocked.
D3014Blocked CheckThe check provided in transaction is blocked.
D3015Cannot Process Image
D3016Invalid Check NumberThe check number in the request message is invalid.
D3017Bank Account ClosedThe bank account does not exist.
D3018Decline NSF
D3019Check Image Decline
D3020Invalid SEC
D3101Maker Check Return Stop Pay Limit Exceeded
D3102Maker Check Return No Auth Limit Exceeded
D3103Maker Check Return No Settlement Limit Exceeded
D3104Maker Check Return NSF/Other Limit Exceeded
D3105Maker Check Return Limit Exceeded
D3106Customer Check Return Stop Pay Limit Exceeded
D3107Customer Check Return No Auth Limit Exceeded
D3108Customer Check Return No Settlement Limit Exceede
D3109Customer Check Return NSF/Other Limit Exceeded
D3110Customer Check Return Limit Exceeded
D3111Check Image Processing Error
D3112Customer Check Cashing Limit Exceeded
D3200Record(s) Processed Successfully
D3201Duplicate Custom Fields Not Allowed.Duplicate Custom Field Not Allowed.
D3202Item code already exists.Item code already exists.
D3203Custom Field Type cannot be modified during update.Custom Field Type cannot be modified during update.
D3204Could not find Product for Update.Product is not registered in the system.
D3205Could not find Product for Removal.Product is not registered in the system.
D3206Unidentified Tax CategoryTax Category is not set in our system.
D3207Some Record(s) Processed Successfully
D3208No Records ProcessedNo records are processed further.
D3211Parsing FailedIssue with request parameter.
D3212Product Enroll Fail at Merchant LevelMerchant level data is not added or updated in the system.
D3213Item code not providedThe item code in the request message is invalid.
D3214Product Enroll Fail at Merchant Custom LevelMerchant level custom data is not added and updated in the system.
D3215Product Enroll Fail at Global LevelThe UPC level data is not added and updated in our system.
D3216Product Removal FailedProduct Removal Failed.
D3217No Tax Category FoundNo Tax Category Found.
D3218Category already exists
D3219Invalid Category Code
D3220Modifier already exists
D3221Invalid Modifier Code
D3222Variation already exists
D3223Invalid Variation
D3224Invalid Product Code
D3225Duplicate Variation Option Fields Not Allowed
D3226Discount already exists
D3227Start Date should be current date or future date
D3228End Date should be current date or future date
D3229Invalid Discount Code
D3230No Product found for given search criteria.No product is found for given search criteria.
D3231End Date should be greater than Start Date
D3232Discount amount should be less than Max Discount amount
D3233Discount percentage should be less than 100
D3234Max Discount amount should be less than Discount Qualifying amount
D3235Discount Code already removed
D3236Already Associated
D3237Invalid role
D3238Invalid Operation
D3239Role Already Exist
D3240Operation Type Already Exist
D3241Role does not Exist
D3242Role can not be Deleted
D3243Default Role can not be Modified
D3250Invalid modifierOptionDetailsInvalid modifierOptionDetails
D3253Order service date can not be a previous date
E3254Order creation failed
E3255OrderID not found
E3256Order updation failed
E3257Order can not be modified
D3259Invalid modifier categoryCodeInvalid modifier categoryCode
D3260Invalid product categoryCodeInvalid product categoryCode
D3264currentPaymentSequenceNumber should be less than and equal totalPaymentCountThe currentPaymentSequenceNumber value entered does not meet the required criteria.
D3999Check Auth Decline
D4000Invalid content, one of {encodedCardData, keyedCardData, returnTransactionData} group is required
E4001Invalid Source Country Code
E4002Invalid Source Currency Code
E4003Invalid Destination Location
E4004Invalid Destination Currency Code
E4005Invalid Source Agent
E4006Invalid Destination Agent
E4007Invalid Conversion Rate
E4008Invalid Fee
E4009Missing/Invalid Amount
E4010Missing/Invalid Payout Amount
E4011Invalid MTCN
E4012Duplicate transaction ( Same amount/ Account ).
E4050Missing /Invalid Sender Name
E4051Invalid Sender ID Type
E4052Invalid Sender ID
E4053Invalid Sender Address
E4054Invalid Sender phone number
E4055Missing /Invalid Receiver Name
E4056Invalid Receiver ID Type
E4057Invalid Receiver ID
E4058Invalid Receiver Address
E4059Invalid Receiver phone number
E4060Missing / Invalid Input
E4999General Money Transfer Decline
E5000Invalid Money order Number.
E5001Invalid Amount.
E5002Missing Payee Name.
D5201Invalid Page size in the request
D5202Invalid Report column name for requested report
D5203Invalid date range, redefine your search
D5204Invalid search column for requested report
D5205Invalid optional column for requested report
D5206Invalid Report column name for requested report
D5207Invalid/Expired Report data identifier
D5208Invalid search column value for requested report
D5209No data found, please redefine your search
D5210One or more duplicate columns used for search, sort or for optional columns
D5211Invalid search condition, transactionID is required
D5212Invalid search condition, productCode is required
D5213Service is temporarily unavailable.Please try later
E5213Service is temporarily unavailable.Please try later
D5214Invalid search condition, dateRange is required
E5500Invalid Payroll Info
E5599General Payroll Decline.
E5999General Money order Decline
E6000Missing /Invalid Name
E6001Invalid ID Type
E6002Invalid ID Number
E6004Invalid AddressThe address provided in the transaction is invalid.
E6005Invalid phone numberThe phone number provided in the transaction is Invalid.
E6006Invalid SSNThe SSN provided in the transaction is Invalid.
E6007Invalid DOBThe DOB provided in the transaction is Invalid.
E6008Missing/Invalid Gender
E6009Missing/Invalid customer Image
E6010Missing/Invalid ID Image
E6011Missing/Invalid Finger Print Image
E6012Biometric Auth failure
E6013BFD failed
E6014OTP failed
E6050Duplicate EnrollmentThe Customer is enrolled. Verify if the request is send twice for the same customer.
E6051OFAC Match
E6052Blocked Customer
E6053Blocked Biometrics
E6054Declined Score below threshold.
E6055Customer Not Enrolled.The customer code provided in request is not registered.
E6056Financial Account Not Enrolled.
E6057Customer requested stop of specific recurring paymentCustomers request to stop recurring payments.
E6058Customer requested stop of all recurring payments from specific merchantCustomers request to stop recurring payments from specific merchant.
E6059Missing Customer ID/External Customer NumberCustomer ID or external customer number is not provided in request.
E6060Inactive CustomerInactive Customer
E6061Invalid UIDUID number provided in request is invalid.
E6062Incorrect or No Card Indicator Value
E6063Customer Group Name already exists
E6064Invalid Customer Group code
E6065Customer Code already associated
E6066Invalid Customer Code
E6067Search criteria not found.The search request does not include any search criteria fields.The search criteria includes the firstName, lastName, paymentInstrumentID, or customerID fields.
E6068External Customer number is already available.
E6069Invalid Search Criteria
E6071Customer modification not allowed, payment is in process.The application is unable to delete a customer record while a recurring transaction for the customer is processing.
E6072Transaction is in process. Please try again after some time.Simultaneous actions cannot be performed on the same customer record. The application is unable to perform edits on a customer record while the record is in use.
E6100Inactive CustomerInactive Customer.
E6901Duplicate Schedule Billing Reference NumberDuplicate schedule billing reference number.
E6902Payment Count Cannot be Greater than Processed CountPayment count cannot be greater than processed count.
E6903Next start date cannot be earlier than Current DateNext start date cannot be earlier than current date.
E6904Schedule cannot be added without a Payment Methods (i.e. Card, Account...)
E6905Schedule not found
E6906Invalid Schedule string
E6999General Customer Auth DeclineGeneral declined.
D7000Record not foundThe transaction requested is not available.
E7001Invalid User IDThe user Id provided in request message is invalid.
E7002Record Not Found.The Transaction is not present in the system.
E7003User Locked. Call CSR
E7004Invalid Security Question/AnswerInvalid security question and answer.
E7005User Already Logged inUser Already Logged in try after some time.
E7006Your Password has Expired, Please change the password.Change your password.
E7007User Inactive. Call CSR
E7008Operator Not FoundThe user ID is not registered in the system.
E7009Expired Client PasswordThe client password is expired.
E7010Invalid Host IDThe Host Id provided in the request message is invalid.
E7011Client Authentication FailedThis message may occur for more than one reason. 1. The manifest included in the request is not configured properly. 2. The Domain Key included in the request manifest is expired. 3. The Host Password included in the request is expired.
E7012Invalid user or passwordThe User id and password is invalid.
D7013Multiple users with same email. Enter Login ID
E7013Multiple users with same email. Enter Login IDThere are multiple users with the same email ID. Enter your login ID.
E7014Invalid ManifestManifest provided in the request message is invalid.
E7015Invalid Transaction KeyThe transaction key provided in the request message is invalid.
E7016Invalid UserID or EmailID
D7017User Modification Request Failed
E7018The provided authentication credentials are not correct
E7019Duplicate Questions/answers not allowed
E7020The question cannot be same as any of the answers
E7021Unable to process, retry with terminalNumber
E7022Unable to process, retry with profileName or profileID
E7023Unable to find profile
E7024Security question expired, please fetch a new question
E7027Unable to process, retry with userIDMultiple entries found for the merchantID and emailID search criteria used.
E7100General Login DeclineGeneral Login Decline.
E7101User_ID already existsUser_ID already exists.
E7102Operation not allowedOperation not allowed.
E7103Operator not Register/PresentOperator is not Register or Present in the system.
E7104Last active admin operator in the systemThe last Active Admin operator in the system. At least one Admin operator should be active for a merchant.
E7105Admin operator cannot change his own status or typeThe Admin operator cannot change his own profile details.
E7106Not allowed to add AdministratorThe operator is not allowed to add Admin operator.
E7107Input Password does not adhere to complexity normsThe Input Password does not adhere to complexity norms.
E7108New password must not match previous password. Please enter a unique new passwordThe new password must not match previous password. Please enter a unique new password.
E7109Suspended/Inactive UserThe User Id provided in request is Suspended or Inactive. Please reactivate to perform transaction.
E7110Invalid password lengthThe password length must be between 8 and 20 characters.
E7111Parameter validation Error
E7112User already exists
E7113User Credential not active
E7114Security question not set for user
E7200General User Admin DeclineGeneral User Admin Decline.
E7201Client not registered to our system.The client domain name or unique ID is not registered.
E7202Invalid Client KeyThe client key is invalid. Re-enter the correct key and resubmit the transaction.
E7203Client Validity Expired, Please re-registerThe client validity is expired. Re-register the domain or the unique ID.
E7204Invalid merchant details
E7251Invalid one time passwordThe one time password is invalid. Re-enter the correct password and resubmit the transaction.
E7252Duplicate one time passwordThe one time password is a duplicate. Re-enter the correct password and resubmit the transaction.
E7253One time password validity expiredThe one time password has expired. Generate a new password and resubmit the transaction.
E7254Host Operator not allowedThe host operator is not allowed.
E7255Operator is not HostThe operator ID for this transaction is invalid.
E7256Token services cannot be enabled until the merchant account is set up with a token zoneTokenization service is not enabled for the merchant.
E7257Tokenization service not enabledTokenization service not enabled for the merchant.
E7259De-tokenization service not enabledDe-tokenization service is not enabled for the merchant.
E7260De-tokenization UnSuccessfulThe token is invalid. Resubmit with a valid token number.
E7261Tokenization UnSuccessfulService is not available. Resubmit the transaction.
D7500record not found (backend)The record was not found.
D7501Chargeback Protection is not allowedThe transaction is not eligible for Chargeback Protection.
E8000Customer not foundCustomer is not register in our system.
E8001Customer not enrolledCustomer is not register in our system.
E8002Customer DeclinedCustomer enrollment declined.
E8003Customer LockedCustomer is locked in system.
E8004Invalid user or passwordInvalid user or password.
E8005Credit Limit ReachedMax Credit Limit Reached.
E8006Local Opt OutLocal Opt Out.
E8007Invalid MessageInvalid Message
E8008Globally Opted Out phone numberGlobally Opted Out phone number
F8009Invalid EmailInvalid Email
E8900System ErrorSystem Error.
E8999General Notify Decline.General Notify Decline.
D9000Amount Limit ExceededAmount Limit Exceeded for transaction.
D9001Transaction count Limit ExceededTransaction count Limit Exceeded.
D9002Device activity Limit ExceededDevice activity Limit Exceeded.
D9003Amount per days Limit ExceededAmount per days Limit Exceeded.
D9004Excluded CustomerCustomer is excluded to perform transaction at this merchant.
E9005Invalid Cashback amountCash back amount provided in request is invalid. Cash back should always be less then transaction amount.
E9006Cashback Amount is not allowed for this type of transactionCashback Amount is not allowed for this type of transaction.
D9007Maximum Line Items Exceeded Maximum Line Items Limit Exceeded
D9008BC limit not set for merchant. BC limit not set for merchant.
D9009BC buffer percent was not set for merchant. BC buffer percent was not set for merchant
D9010Invalid Transaction_Info/Service_Code.The error occurs in the scenarios as follows: 1-Service code is missing in the request. 2-Service code is invalid. 3-Service code is inadequate for this type of transaction.
D9011Net Balance is less than zero
D9012Invalid Merchant_Info/Agent_Chain_Number must be 6 bytes
D9013Invalid Transaction type Invalid Transaction type
D9014Merchant Per Transaction Deposit Limit Exceeded Transaction Deposit Limit Exceeded
D9015Head Quarter merchant not found. Head Quarter merchant not found.
D9018No Valid Data Found,Please Generate Token First.
D9019Invalid Token
D9020Invalid Transaction_Info/SubServiceCodeThe error occurs in the scenarios as follows: 1- Sub service code is missing in request. 2- Sub service code is invalid. 3- Sub service code is inadequate for this type of transaction.
D9021Invalid Transaction_Info/Type.The error occurs in the scenarios as follows: 1-Type is missing in request. 2-Type is invalid. 3-Type is inadequate for this type of transaction.
D9022Invalid Transaction_Info/Transaction_IDTransaction ID is expected in request for this transaction. Re-enter the Transaction ID, and resend the transaction.
D9030Invalid Device_Info/Device_TypeDevice is inadequate to do this type of transaction.
D9040Invalid Processor_Info/Acquirer_Institute must be 6 bytesAcquirer_Institute must be 6 bytes.
D9050Invalid Processor_Info/Proc_Merchant_Id must be 12 bytesProc_Merchant_Id must be 12 bytes.
D9070Invalid Processor_Info/Processor_Term must be 4 bytesProcessor_Term must be 4 bytes.
D9080Invalid Processor_Info/Store_Number must be 4 bytesStore_Number must be 4 bytes.
D9090Invalid Merchant_Info/MerchantTypeThe merchant name is invalid or is not present.
D9091Invalid Merchant_Info/Name
D9092Invalid Merchant_Info/City
D9093Invalid Merchant_Info/State
D9094Invalid Merchant_Info/TimeZone must be 3 bytes
D9096Invalid Transaction_Info/Time_Stamp must be [MMDDYY HHMMSS]
D9100Fee Configuration Level must be mentioned
D9101Fee not configured
D9110Invalid Merchant_Info/SICCODE must be 4 bytes.
D9111Invalid Processor_Info/Sequence_Number must be 4 bytes
D9120Invalid Card_Info/PIN
D9130Invalid Transaction_Info/Country_Code must be at least 2 bytes.
D9140Invalid Card_Info/Type
D9210Invalid Card_Info/PIN
D9211Invalid Card_Info/Token
D9212Invalid Card_Info/KSN must be at least 16 chars
D9240Invalid Merchant_Info/Agent_Bank_Number must be 6 bytes.
D9250Invalid Merchant_Info/Agent_Chain_Number must be 6 bytes
D9260Invalid Processor_Info/Batch_Number must be 3 bytes
D9270Invalid Merchant_Info/Reimburse_Attr must be 1 byte
D9280Invalid Merchant_Info/ABA_Number must be 9 bytes
D9282Invalid Merchant_Info/Settle_Agent_Number must be 4 bytes
D9283Check Out date can not be less than or equal to Check In date
D9284Transaction amount should not be greater than authorized amount
D9286Invalid CheckoutIDThe checkOutID provided is incorrect. Provide the correct checkOutID.
D9287Duplicate card sequence number
E9288Invalid Wallet Identifier Format
E9289Encoded Data is not allowed with checkoutID
D9290Invalid Transaction_Info/Orig_Purchase_Date must be MMDDHHMM
E9291Keyed Card Data is not allowed with checkoutID
E9292Mandatory Tags are missing
E9293Card Type not supported for requeted service
E9294terminalData {terminalCapability, terminalOperatingEnvironment, cardholderAuthenticationMethod, terminalAuthenticationCapability, terminalOutputCapability,maxPinLength} group is required
E9295cardholderAuthenticationMethod must be PIN
D9500Encryption services not enabled for the deviceEncryption services are not enabled for the device.
D9501Encryption service requested not enabled for the deviceThe device has encryption service but the encryption service requested is not enabled.
D9502Encryption method could not be determinedThe device is configured with more than one encryption service. The request does not indicate which service to use.
D9503Decryption unsuccessfulThe decryption failed.
D9504Invalid Format Id
D9505Product Details is required to perform this action
D9510Invalid Encryption TypeAn invalid encryption type was included in the request.
D9511A unique KSN not generated or not sent in requestThe application was unable to generate or submit the key serial number.
D9610Data Parsing failData parsing failed.
D9611Encrypted Data not generated or not sent in requestEncrypted data was not received from the host or the application was unable to include this data in the response.
F9900XSD Format ErrorXSD Format Error
F9901Format Error field detailsFormat Error field details
F9902Group encodedCardData is not allowed with cardDataSource value MANUAL
F9903Group encodedCardData is not allowed with cardDataSource value PHONE
F9904Group encodedCardData is not allowed with cardDataSource value EMAIL
F9905Group encodedCardData is not allowed with cardDataSource value INTERNET
F9906Group keyedCardData is not allowed with cardDataSource value SWIPE
F9907Invalid cardDataSource for requested service.
F9908Sum of elements of group additionalCharges should not be greater than transactionAmount.
F9909cashTendered must not be less than transactionAmount
F9910lastChipRead is Mandatory with Fallback Swipe (Icc Terminal Error) transaction
F9911lastchipRead is not Allowed with Fallback Swipe (Empty Candidate List) transaction
F9912Invalid content, one of {track1Data, track2Data, track3Data} is required
F9913Invalid content, {encodedCardData, keyedCardData or swipedCardData} is not Allowed with Chip Card
F9914emvFallbackCondition is Mandatory with Fallback Swipe transaction
F9915voidReason is Mandatory for Chip Card transaction
F9916Fallback Swipe allowed with track2Data only
F9917Invalid emvTags, {9F1F or 9F20 or 57 or 5A}Tags 9F1F, 9F20, 57 and 5A are not allowed if encryptionType is VOLTAGE
F9918Invalid content, {track1Data, track3Data, emulatedTrackData} is not Allowed with Chip Card and encryptionTypetrack1Data, track3Data, and emulatedTrackData are not allowed if encryptionType is VOLTAGE

Other Errors

Error DescriptionReasonLocation
"Unable to decode the Model"The Json you sent doesn’t match a valid inputAny endpoint.
“The (entity) could not be saved because of an unmanaged exception”An unknown reason didn’t allow the system to save the entity. Please contact support.Any endpoint
“Update (entity) did not finish correctly because of an unmanaged exception”An unknown reason didn’t allow the system to update the entity. Please contact support.Any endpoint
“The (entity) could not be retrieved because of an unmanaged exception”An unknown reason didn’t allow the system to retrieve the entity. Please contact support.Any endpoint
“No Devices were found for the given User/Merchant relationship”You sent a device GUID that does not belong to a merchant administrated by the logged user. Please try with a different GUID.Any transaction endpoint
“No Merchant was found for the current User”You sent a device GUID that does not belong to a merchant administrated by the logged user. Please try with a different GUID.Any transaction endpoint
“Invalid Routing Number: invalid digit”You sent and invalid Routing Number. Please try with a different one.Create Bank Clearing
“Invalid Routing Number: digit check failed”You sent and invalid Routing Number. Please try with a different one.Create Bank Clearing
“An error occurred while executing Transaction General Check”There is some inconsistence between your devices, Merchant Processor accounts and Merchants. Please contact support.Any transaction endpoint.
“Invalid Device GUID”You sent a device GUID that does not exist at all. Please try with a different GUID.Any transaction endpoint.
“BankAccount reference not found.”You sent an invalid BankAccount GUID. Please try with a different GUID.Create Bank Clearing.
“At least one of SSN4 or DateOfBirth are required.”You attempted to create a bank clearing without providing SSN4 or Date of Birth of the bank account owner. Please provide any of those two.Create Bank Clearing.
The DriverLicenseState and DriverLicenseNumber fields are required.You didn’t provide Driver License State nor Driver License Number.Create Bank Clearing.
“The transaction was not originated in any device of the current user.”You are trying to void or refund a sale or bank clearing that was run on a device that is not administrated by the logged user.Void Bank Clearing, Refund Bank Clearing, Void Sale, Refund Sale
“There was a database error”There was some inconsistence on the database, please contact support.Any endpoint.
“The related clearing is not settled. It can be voided only”You attempted to refund a not settled bank clearing.Refund Bank Clearing.
“The related clearing is already voided”You attempted to void or refund an already voided Bank Clearing.Void Bank Clearing, Refund Bank Clearing.
“The related clearing is already returned”You attempted to void or refund an already refunded Bank Clearing.Void Bank Clearing, Refund Bank Clearing.
“The related clearing was not processed, therefore it cannot be voided”You attempted to void or refund a Bank Clearing that didn’t run successfully.Void Bank Clearing, Refund Bank Clearing.
“Invalid (entity) GUID”You attempted to void or refund a Bank Clearing or a Sale or to capture an Auth Only using an invalid Guid.Capture Auth Only, Void Sale, Refund Sale, Void Bank Clearing, Refund Bank Clearing.
“No (entity) could be found for the given Id”You attempted to updated or retrieve an entity using an invalid Guid.Any endpoint.
“Credit Cards not allowed for this processor”You attempted to run a Sale or Auth Only on a Merchant Processor Account that is Debit Only.Create Auth Only, Create Sale.
“Debit Cards not allowed for this processor”You attempted to run a Sale or Auth Only on a Merchant Processor Account that is Credit Only.Create Auth Only, Create Sale.
“The (transaction) could not be processed correctly. Error code (error code). Error message: (error message)”The transaction didn’t run for reason provided by the processor. If you have any question regarding this error, please contact support.Any transaction endpoint.
“No open batch”For some reason, there was no open batch when you attempted to run a sale or auth only. Please contact support.Create Auth Only, Create Sale.
“Invalid CardDataSource”You provided an invalid card data source.Create Auth Only, Create Sale.
“The (transaction) amount must be greater than zero”You provided a negative or zero amount for the transaction.Any transaction endpoint.
“The (transaction) could not be fetched because of an unmanaged exception”Something when wrong when trying to retrieve the entity. Please contact support.Any endpoint.
“There is an approved Capture for this AuthOnly already”You attempted to capture an already captured Auth Only.Create Capture.
“The referenced AuthOnly and this Capture devices are not from the same MerchantAccount”You attempted to capture an AuthOnly using a device guid belonging to a different merchant processor account.Create Capture.
“The Capture AuthOnlyGuid value does not have matching results.”You attempted to capture an AuthOnly using an invalid Auth Only Guid.Create Capture.
“There is no Batch for the given guid.”For some reason, there was no open batch when you attempted to run the transaction. Please contact support.Any transaction endpoint.
“Only one of Bank Account or Card can be used.”You sent both, a Credit Card and a Bank Account, when trying to create a Recurring BillingCreate Recurring Billing.
“The device hierarchy and settings could not be loaded”Something is wrong with the merchant processor account of the device you provided. Please contact support.Create Recurring Billing.
“The current Merchant Processor Account does not allow Tokenization. Tokenization is required to create Recurring Billings.”You provided a device guid belonging to a merchant processor account that does not have Tokenization activated.Create Recurring Billing.
“The setup of this device does not allow this operation. Processor Transaction Type is not Card nor ACH”You provided a Credit Card for an ACH Merchant Processor Account or a Bank Account for a Credit Card Merchant Processor Account.Create Recurring Billing.
“Required data for a Recurring Billing with Card are: FirstName, LastName, Email and Phone”You’re missing at least one of First Name, Last Name, Email or Phone when trying to create a Recurring Billing using a credit card.Create Recurring Billing.
“An Email is required for a Recurring Billing with ACH”You’re missing e-mail address when trying to create a Recurring Billing using a Bank AccountCreate Recurring Billing.
“There are no payments to be generated for the given parameters (StartDate, EndDate, PaymentCount, Interval, IntervalValue)”You sent a combination of parameters that didn’t result in any possible payment.Create Recurring Billing.
“Invalid Card or Bank Account”You provided an invalid credit card or an invalid bank account when trying to create a recurring billing.Create Recurring Billing.
“Customer data not present”You provided a Credit Card or Bank Account without the customer’s information.Create Recurring Billing.
“Invalid Interval. The 'every' value must be the only value.”You sent both, an “every” interval and a list of custom datesCreate Recurring Billing.
“Invalid Interval/IntervalValue”You provided an invalid combination of the interval and its values.Create Recurring Billing.
“An error occurred while parsing the CustomDates”At least one of the custom dates you provided is not properly formattedCreate Recurring Billing.
“There is a date in the CustomDates smaller than the StartDate”At least one of the custom dates you provided is previous to the StartDate you provided.Create Recurring Billing.
“The EndDate must be greater than the greatest CustomDate”At least one of the custom dates you provided is posterior to the EndDate you provided.Create Recurring Billing.
“EndDate must be submitted for CustomDates”You provided a list of CustomDates but not an EndDateCreate Recurring Billing.
“Invalid InertervalValue: this interval does not allow values”You selected an interval that does not require interval values.Create Recurring Billing.
“Invalid Interval, you must explicit an IntervalValue”You selected an interval that requires IntervalValue and you did not send it.Create Recurring Billing.
“Invalid Interval”You sent a wrong Interval name.Create Recurring Billing.
“End Date must be after start date”You sent an End Date that is posterior to the Start Date you sentCreate Recurring Billing.
“The Start Date cannot be earlier than today”You sent a Start Date previous to the current date.Create Recurring Billing.
“Just one of End Date or Payment Count values are required, not both”You sent both “EndDate” and “PaymentCount”. Please send one or the other one, but not the both together.Create Recurring Billing.
“Either one of End Date or Payment Count values are needed”You didn’t send “EndDate” neither “PaymentCount”. Please send at least one of them.Create Recurring Billing.
“The Payment Count value must be greater than 0”You sent PaymentCount with a value equal or less than 0Create Recurring Billing.
“The current status of the Recurring Billing is final and does not allow any updates.”The Recurring Billing finished on scheduled, was deactivated or wasn’t created correctly so its status cannot be change.Update Recurring Billing.
“Invalid Status”You sent a wrong status name.Any Update endpoint.
“Invalid Amount, it cannot be 0. If you wish to cancel the Recurring Billing, set the status to Deactivated”You sent Amount with a 0 value.Update Recurring Billing.
“A database related error occurred B.RBB.04”Something went wrong when trying to retrieve the scheduled payments. Please contact support.Get Recurring Billing.
“Either the SaleGuid or SaleReferenceNumber are required”You didn’t send SaleGuid neither SaleReferenceNumber. Please send one of them.Create Return.
“You can't return a sale run more than 180 days ago”You attempted to return a sale that was run 180 days ago.Create Return.
“The Return Amount must be greater than zero”You sent Amount with a value equal or less than 0Create Return.
“Original Amount exceeded”You attempted to return an amount greater than the original sale amountCreate Return.
“Sale has been voided”You attempted to return a voided sale.Create Return.
“Sale has not been settled”You attempted to return a sale of which batch has not been closed.Create Return.
“The referenced Sale and this Return devices are not from the same MerchantAccount”You sent a device guid belonging to a merchant processor account different from the one where the sale was run.Create Return.
“The current invoice status does not allow a payment”Invoice was already paid, cancelled or has not been sent yet so it cannot be paid.Create Sale.
“The sale amount does not match the invoice amount”You sent and Invoice Guid, but the sale amount does not match the amount of that invoice.Create Sale.
“The calculated amount after Discount and/or ServiceFee and GrossAmount does not match the Amount value”You sent GrossAmount and Discount and/or ServiceFee, but the amount you sent does not match the result of Amount=GrossAmount-Discount+ServiceFeeCreate Sale.
“If Discount and/or ServiceFee are submitted, the GrossAmount value is required”You sent Discount and or ServiceFee but you didn’t send GrossAmount.Create Sale.
“Unable to find the device where the original sale was run.”You’re trying to charge a fee (or to reattempt a sale) over sale we cannot find the device where it ran. Please contact support.Charge Fee, Reattempt sale.
“There are no active Fee Charger devices for your Merchant Processor Account”You’re trying to charge a fee but you haven’t setup a Fee Charger device yet.Charge Fee.
“Unable to charge fee for sale”System was not able to charge the fee for the selected sale for some unknown reason. Please contact support.Charge Fee.
“Unable to run sale again”System was not able to run the selected sale again for some unknown reason. Please contact support.Reattempt sale.
“Original Sale not found”You sent an invalid Sale GuidReattempt sale.
“Card for original Sale not found”We were not able to find the card used on the original sale. Please contact support.Reattempt sale.
“Tax Rate submitted without declaring Tax Type”You sent TaxRate but not TaxType.Create Sale, Create AuthOnly, Create Capture.
“Tax Rate submitted without declaring Tax Amount”You sent TaxRate but not TaxAmount.Create Sale, Create AuthOnly, Create Capture.
“An error occurred while saving the EnhancedData”Something went wrong when trying to save tax information. Please contact support.Create Sale, Create AuthOnly, Create Capture.
“An error occurred while retrieving the EnhancedData”Something went wrong when trying to get tax information. Please contact support.Get Sale, Get AuthOnly, Get Capture.
“The underlying Sale was not processed correctly. A Tip Adjustment cannot be made”You attempted to add a tip to a sale that didn’t run successfully.Create Tip Adjustment.
“The TipAdjustment could not be processed correctly B.TA.C01”Something went wrong when trying to add the tip to the sale. Please contact Support.Create Tip Adjustment.
“The Sale belongs to a closed batch. Tip Adjustments can only be made on open batches B.TA.C02”You attempted to create a tip for a sale that is already settled.Create Tip Adjustment.
“Sale not found B.TA.C03”You sent an invalid Sale GuidCreate Tip Adjustment.
“Invalid Device GUID B.TA.C04”You sent an invalid Device Guid.Create Tip Adjustment.
“Card Verification does not allow Swiped requests. B.VB.C06”You sent track1 and/or track2. Please send a keyed card.Create Verify.
“Card Verification does not allow EMV requests. B.VB.C07”You sent EMV data. Please send a keyed card.Create Verify.
“There is no card match for the given Token. B.VB.C01”You sent a tokenized card but we were not able to find the original card number.Create Verify.
“The Verify could not be processed correctly. B.VB.C05”The Verify didn’t run successfully for an unknown reason. Please contact support.Create Verify.
“One of SaleGuid, AuthOnlyGuid, ReturnGuid, SaleReferenceNumber, AuthOnlyReferenceNumber or ReturnReferenceNumber fields is required”You didn’t say any Guid or Reference Number of the transaction you want to void.Create Void.
“Only one of SaleGuid, AuthOnlyGuid, ReturnGuid, SaleReferenceNumber, AuthOnlyReferenceNumber or ReturnReferenceNumber fields can be accepted”You sent more than one Guid belonging to different kind of transactions.Create Void.
“The AuthOnly cannot be voided because it has been captured already”You attempted to void an AuthOnly that has been already captured. Please try voiding the Sale generated instead.Create Void.
“No device found for the underlying transaction”No active device was found for the transaction you’re trying to void.Create Void.
“Sale cannot be voided because it was not processed”You attempted to void a sale that didn’t run successfully.Create Void.
“AuthOnly cannot be voided because it was not processed”You attempted to void an auth only that didn’t run successfully.Create Void.
“Return cannot be voided because it was not processed”You attempted to void a return that didn’t run successfully.Create Void.
“Transaction already settled”You attempted to void a transaction of which batch has already been closedCreate Void.
“No open batch available”For some reason, there is no open batch to process your transaction. Please contact support.Any Create Transaction endpoint.
“Expiration date is required if the Card number is being sent. B.CB.GS01”You sent a Card Number but no expiration date.Create Sale, Create AuthOnly, Create Recurring Billing, Create Verify.
“Expiration date is required if the Card is being swiped. B.CB.GS02”You sent track1 and/or track2 but no expiration date.Create Sale, Create AuthOnly.
“The current Merchant Processor Account does not allow Swiped transactions. B.CB.GS03”You provided a Device Guid that belongs to a Merchant Processor Account that does not allow swiped transactions. Please try with a different device Guid.Create Sale, Create Auth Only.
“The current Merchant Processor Account does not allow EMV transactions. B.CB.GS04”You provided a Device Guid that belongs to a Merchant Processor Account that does not allow EMV transactions. Please try with a different device Guid.Create Sale, Create Auth Only.
“For EMV, required fields are EMVTags and ExpirationDate B.CB.GS05”You’re missing either EmvTags or ExpirationDate fields (or both) when trying to run an EMV transaction.Create Sale, Create Auth Only.
“Tags missing B.CB.GS06”You’re missing at least one required tag for an EMV transaction.Create Sale, Create Auth Only.
“Unexpected error: Card without token.”We were not able to tokenize the card. Please contact support.Create Sale, Create AuthOnly, Create Recurring Billing, Create Verify.
“The Card tokenization could not be processed.”Processor were not able to tokenize the card. Please contact support.Create Sale, Create AuthOnly, Create Recurring Billing, Create Verify.
“Card number, track1data or track2data missing”You didn’t say any of cardNumber, track1data or track2data. Please provide at least one of them.Create Sale, Create AuthOnly, Create Recurring Billing, Create Verify.
“Invalid DriverLicenseState name”You provided a wrong short name for Driver License StateCreate Bank Clearing, Create Bank Account.
“As a Credit Card device, the ProcessorId, ProcessorOperatingUserId and ProcessorPassword data are required.”You’re missing at least one of ProcessorId, ProcessorOperating UserId or ProcessorPasswordCreate Device.
“As an ACH device, the ProcessorLocationId data is required.”You’re missing ProcessorLocationIdCreate Device.
“As an ACH device, the TerminalNumber data is required.”You’re missing TerminalNumber.Create Device.
“Only one Fee Charger active device is allowed per Merchant Processor Account”You’re trying to create a device with FeeCharger=true for a Merchant Processor Account that already has an active Fee Charger DeviceCreate Device.
“Only one Mobile active device is allowed per Merchant Processor Account”You’re trying to create a device with IsMobile=true for a Merchant Processor Account that already has an active Mobile Device.Create Device.
“In order to create a Virtual Terminal, the Merchant Processor Account where you're attempting to create this device must have setup an Auto Close Batch time.”You’re trying to create a device with IsVirtualTerminal=true for a Merchant Processor Account that hasn’t set an Auto Close Batch time yet.Create Device.
“The processor failed to return the Device Parameters. B.DB.04”Processor was not able to return the device data. Please contact support.Create Device.
“An error occurred while requesting the processor parameters for this device. B.DB.02”System was not able retrieve device data from the processor. Please contact support.Create Device.
“An error occurred while requesting the processor parameters for this device. B.DB.03”Something went wrong when system sent device parameters to processor. Please contact support.Create Device.
“Device updated. Device status changed to Paused because of an error.”Device was updated, but something went wrong so it was paused. Please contact support.Create Device.
“There are no active Fee Charger devices for your Merchant Processor Account”No active device with FeeCharger=true was found.Charge Fee.
“checkIpIsAllowed failed to check if endpoint is allowed to be run from IP”You tried to run an endpoint that is not allowed to be run from your IP address.Protected endpoints.
“The user does not have permission to do this”You attempted to run an endpoint that is not allowed for your user profile.Any endpoint.
“A server error has occurred. The operation could not be finished.”A general error occurred. Please contact support.Any endpoint.
“Hosted Payment Page Request expired”You attempted to see the preview or to confirm the transaction of a Hosted Payment Page request of which token has already expired.HostedPaymentPageRequests – Get Preview, HostedPaymentPageRequests – Confirm Transaction
“Hosted Payment Page Request TempToken already used”You attempted to see the preview or to confirm the transaction of a Hosted Payment Page request of which token has already been used.HostedPaymentPageRequests – Get Preview, HostedPaymentPageRequests – Confirm Transaction
“SendDate cannot be earlier than today”You sent a SendDate previous to current date.Create Invoice.
“PaymentDate cannot be earlier than today”You sent a PaymentDate previous to CurrentDateCreate Invoice.
“Send Status not allowed”You sent a SendSatus different from “Draft” or “Scheduled To be Sent”Create Invoice.
“Invalid SendStatus”You sent a wrong SendStatusCreate Invoice.
“Invalid PaymentTerm”You sent a wrong PaymentTermCreate Invoice.
“Forbidden SendStatus”You’re trying to update the SendStatus of an invoice that has been already sent and cannot be updated.Update Invoice.
“Invalid PaymentStatus”You sent a wrong PaymentStatusUpdate Invoice.
“A database related error occurred B.Iv.01”We were not able to retrieve the invoice because of a database error. Plase contact support.Get Invoice
“The current invoice status does not allow modifications”Invoice has been already sent and cannot be updated.Update Invoice, Update Invoice Detail
“The current detail is deleted, no changes are allowed”Invoice Detail has been deleted and cannot be updated.Update Invoice Detail.
“A database related error occurred B.IvD.01”Invoice Detail or Invoice Reminder could not be retrieved because of a database error. Please contact support.Get Invoice Detail, Get Invoice Reminder.
“For a custom reminder, date is required”You sent a customized reminder but you didn’t include the reminder’s date.Create Invoice Reminder.
“The current invoice payment status does not allow a new reminder”Invoice is already paid and a new reminder cannot be created.Create Invoice Reminder.
“Reminder date cannot be earlier than send date”You attempted to generate a reminder of which date is previous to the send date of the invoice.Create Invoice Reminder.
“Reminder date cannot be earlier than today”You attempted to generate a reminder of which date is previous to current date.Create Invoice Reminder.
“For this invoice there is an active reminder for this date already”You attempted to generate a reminder of which date is the same one another active reminder for the same invoice has.Create Invoice Reminder.
“The reminder is completed, it cannot be updated”You’re trying to update a reminder that has already been executed.Update Invoice Reminder.
“Days not specified”Something went wrong when trying to calculate the date of the reminder. Please try with a different value.Create Invoice Reminder, Update Invoice Reminder.
“Invalid Parent Iso Number”You provided a wrong Iso Number for ParentIsoCreate Iso
“Iso Fees and Discount rate can be null or zero, but cannot be negative”You sent a negative amount for at least one of the fees.Create Iso
“User does not have the Merchant Admin role assigned.”You assigned as merchant’s admin a user that does not have the Merchant Admin RoleCreate Merchant
“Merchant Processor Account Fees and Discount rate can be null or zero, but cannot be negative”You sent a negative amount for at least one of the fees.Create Merchant Processor Account
“AutoClose is available for Credit Card only”You attempted to set “AutoClose=true” for an ACH Merchant Processor Account.Create Merchant Processor Account, Update Merchant Processor Account
“Subisos cannot setup fees lower than those established by its Parent Iso”You attempted to create or update a merchant processor account and setup fees lower than the ones your parent iso charges.Create Merchant Processor Account, Update Merchant Processor Account
“Invalid context. Allowed values are: Invoice, i, RecurringBilling, rb”You sent an invalid contextGet Merchant Product, Get Merchant Product List
“A database related error occurred B.MPB.01”Something went wrong at the database level when trying to retrieve something related with merchant product.Get Merchant Product, Get Merchant Product List, Get Merchant Product List Detail.
“The authenticated user does not have permission to perform this operation.”Your user role does not have permission to run the endpoint you’re pointing to. Please try with a different endpoint or contact support to get a new role.Any endpoint.
“Invalid State name”You sent a wrong US State short name.Any endpoint.
“Invalid Invoice Customer”You sent a wrong InvoiceCustomer GuidCreate Invoice, Update Invoice.
“Iso number not found”You sent a wrong Iso NumberRegister Account
“Unable to remove Merchant Admin Profile. User is still admin of the following merchants:”You’re trying to remove the Merchant Admin profile to a user who is still admin of some merchants. Remove the user from the admin list on each of the merchants listedUpdate User Role
“Unable to decode the Model”You sent a wrong Json for the endpoint you pointed toAny endpoint.
“Invalid ModelState”You sent a wrong Json for the endpoint you pointed toAny endpoint.
“NoResultFound204”You sent a search or called a Get All endpoint that generated no resultsAny get all endpoint, Any search endpoint.
“Unable to reach entity”You sent an invalid GuidAny get endpoint.
“Wrong emailType”You sent an invalid e-mail addressResend Email.
“Invalid TempToken”You sent a wrong temporal tokenHostedPaymentPageRequests – Confirm Transaction
“Operation is only available for Sandbox url”You attempted to create a user using an endpoint only available for SandboxCreate User
“Iso is not active.”You sent an Iso Number belonging to an inactive isoRegister Account.
“Username does not exist”You sent a username that does not exist at allReset Password Request.
“Key expired”You attempted to reset a password using a key that is expired.Reset Password.
“Key does not exist”You attempted to reseat a password using a key that does not exist at all.Reset Password.
“Invalid State”You sent a wrong US State short name.Any endpoint.
“Invalid Status”You sent a wrong status name.Any endpoint.

Extracted from the published SurePay reference. 62 endpoints across 24 groups. Ask for sandbox credentials to run them.