• Register

fulldocs

API Documentation

Account


GET /account/id Get Account Record

Get a specific account record associated with the merchants data that your access tokens are tied to.

Response:
{
"id":"2bd4c73d-76de-42a0-8dad-43c068e33b4a",
"userName":"clerkam",
"firstName":"shane",
"lastName":"calhoun",
"mobileNumber":"6782310532",
"merchants":[]
}
HTTP/1.1 200 OK 
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
GET /account Get Account List

Get a list of account records associated with your access tokens. For multi-merchants, this can aid in easily knowing which merchants your users have access to.

Query Parameters:

  • firstName - search by first name
  • lastName - search by last name
  • limit - quantity of records to be returned after skipping amount set by offset; Defaults to 0
  • offset - quantity of record to skip prior to returning amount of records set my limit; Defaults to 0
Response:
{
"recordCount":4,
"records":[
{
    "id":"2bd4c73d-76de-42a0-8dad-43c068e33b4a",
    "userName":"clerkam",
    "firstName":"john",
    "lastName":"calhoun",
    "mobileNumber":"5556789999",
    "merchants":[]
},
{
    "id":"b36b516e-4550-41c0-8593-917729e526c4",
    "userName":"Smith",
    "email":"test@pps.io",
    "firstName":"Jebediah",
    "lastName":"SpringField",
    "mobileNumber":"",
    "merchants":[]
},
{
    "id":"dbae5f84-6942-4a5e-b52a-9adba76ef472",
    "userName":"Tim",
    "email":"timothyS@pps.io",
    "firstName":"Tim",
    "lastName":"Smith",
    "mobileNumber":"5554489098",
    "merchants":[]
},
{
    "id":"9f8fc1a0-6164-41f5-ad30-66f26fe2aeaf",
    "userName":"smack",
    "firstName":"sue",
    "lastName":"MacEnytr",
    "mobileNumber":"",
    "merchants":[]
}
]
}
HTTP/1.1 200 OK 
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
POST /account Create Account

Similar to what is available on the merchant interface, this allows the creation of a new account record.

Request:
{
    "userName":"ppsTestTransaction",
    "password":"thoughtfulP@$$w0rd",
    "email":"test2@pps.io",
    "confirmPassword":"thoughtfulP@$$w0rd"
}
Response:
HTTP/1.1 202 Accepted
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
PUT /account/id Update Account Record

Update information on a specific account record.

Request:
{
    "userName":"ppsTestTransaction",
    "password":"thoughtfulP@$$w0rd",
    "email":"test2@pps.io",
    "confirmPassword":"thoughtfulP@$$w0rd"
}
Response:
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
DELETE /account/id Delete Account Record

Remove an acccount, and its information form use with the merchant that your access tokens have been granted access to.

Response:
HTTP/1.1 204 No-Content
Content-Type: application/json; charset=utf-8 
Content-Length: 2001

Application


GET /application/id Get Application Record

Retrieve an application record, which contains an apiKey and apiSecret. These are more commonly referred to as a consumer key and consumer secret. Use these to connect to our API via 2 or 3-Legged authentication.

Response:
{
"applicationId":"5a1d9bef-20a6-4934-a547-64bdeaa3e16d",
"name":"angela",
"apiKey":"xhGAjmkZt97C5VZRF6HLCgwR",
"apiSecret":"aMgA8l/m4Glg3fcUHDWnbZcQ+CY=",
"isDeleted":false,
"locked":false,
"merchantId":1245412,
"roleId":0,
"utcDateCreated":"2013-01-25T14:41:42.9",
"utcDateModified":"2013-01-25T14:41:42.9"
}
HTTP/1.1 200 OK 
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
GET /application Get Application List

Get a list of application records which contain consumer keys and secrets generated by the merchant in our merchant interface.

Response:
{
"records":[
{
    "applicationId":"5a1d9bef-20a6-4934-a547-64bdeaa3e16d",
    "name":"angela",
    "apiKey":"xhGAjmkZt97C5VZRF6HLCgwR",
    "apiSecret":"aMgA8l/m4Glg3fcUHDWnbZcQ+CY=",
    "isDeleted":false,
    "locked":false,
    "merchantId":1245412,
    "roleId":0,
    "utcDateCreated":"2013-01-25T14:41:42.9",
    "utcDateModified":"2013-01-25T14:41:42.9"
},
{
    "applicationId":"b192ccad-f1b7-4e4f-ae58-679ae04e07c4",
    "name":"Ryan",
    "description":"Ryan",
    "apiKey":"EDD0EA62-986C-4E77-823D-C07C55B14955",
    "apiSecret":"e2SvOWAti6CL3P07j6h0RQx5nFY=",
    "locked":false,
    "merchantId":1245412,
    "roleId":0,
    "utcDateCreated":"2013-01-10T15:52:09.663",
    "utcDateModified":"2013-01-10T15:52:09.663"
},
{
    "applicationId":"5f18436c-6fcb-4c8e-83e9-d4eeb838c9a1",
    "name":"Savannah",
    "apiKey":"4pBxYhhR0HbhpDX5mvJZWQfG",
    "apiSecret":"2ch7F57QBUnTss7GJ5M/6Zsxvb8=",
    "isDeleted":false,
    "locked":false,
    "merchantId":1245412,
    "roleId":0,
    "utcDateCreated":"2013-03-12T10:29:28.19",
    "utcDateModified":"2013-03-12T10:29:28.19"
}
],
"recordCount":3
}
HTTP/1.1 200 OK 
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
POST /application Create Application

Create a new application to obtain a consumer key and secret. These can then be used to connect to our API via 2 or 3-Legged authentication.

Request:
{
    "name":"test",
    "description":"testDescription",
    "merchantId":1245412,
    "roleId":0
}
Response:
HTTP/1.1 201 Created
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
Location: https://api.prioritypaymentsystems.com/checkout/v1.1/application/123
DELETE /application/id Delete Application Record

Remove an application record. In doing so, this will disallow connectivity to merchant data from applications relying on the use of the deleted consumer key and secret tied to the record.

Response:
HTTP/1.1 204 No-Content
Content-Type: application/json; charset=utf-8 
Content-Length: 2001

BankAccount


GET /customer/id/bankaccount Get Customer Bankaccount List

Returns a list of bank account records that have been stored in association with a customer.

Response:
{
recordCount : 2,
records : [
{   
    id : 34564,
   created : Tue May 07 2013 11:11:17 GMT-0400 (EDT),
   hash : 136bh6k5653h655b56365= ,
   last4 : 1234
},
{   
    id : 235235,
   created : Tue May 07 2013 11:11:17 GMT-0400 (EDT),
   hash : 136bh6k5653h655b56365= ,
   last4 : 3561
}
]
}
HTTP/1.1 200 OK 
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
POST /customer/id/bankaccount Create A Customer Bankaccount

Create and store a customers bank account information for easy use in the future.

Request:
{
    routingNumber : 123423453456,
    accountNumber : 01000345
}
Response:
HTTP/1.1 201 Created
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
Location: https://api.prioritypaymentsystems.com/checkout/v1.1/customer/id/bankaccount/123
PUT /customer/id/bankaccount/id Update A Customer Bankaccount Record

Update the information on an existent, stored bank account record for a specified customer.

Request:
{
    routingNumber : 123423453456,
    accountNumber : 01000345
}
Response:
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
DELETE /customer/id/bankaccount/id Delete A Customer BankAccount Record

Remove a bank account record from a customers record. This will not affect previous payments that refrenced this records information.

Response:
HTTP/1.1 204 No-Content
Content-Type: application/json; charset=utf-8 
Content-Length: 2001

Card Account


GET /customer/id/cardaccount Get Customer Card Account List

Returns a list of stored cards for a customer. We do not store the actual card number.

Response:
{
recordCount : 2,
records : [
{   
   id : 34564,
   created : Tue May 07 2013 11:11:17 GMT-0400 (EDT),
   hash : 136bh6k5653h655b56365= ,
   cardType : Visa ,
   last4 : 1234,
   expiryMonth : 07 ,
   expiryYear : 2016,
   name : Visa - ####1234 
},
{   
   id : 23454,
   created : Tue May 07 2013 11:11:17 GMT-0400 (EDT),
   hash : 54435ggshsghh34534= ,
   cardType : Visa ,
   last4 : 1234,
   expiryMonth : 136bh6k5653h655b56365= ,
   expiryYear : 136bh6k5653h655b56365= 
   name : Visa - ####1234 
}
]
}
HTTP/1.1 200 OK 
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
POST /customer/id/cardaccount Create A Customer Card Account

Store a customer card information for use with recurring charges, tokenization assistance or linking a customer to payments.

Request:
{
    number : 4444555566667898,
    expiryMonth : 07,
    expiryYear : 2016,
    cvv : 124,
    avsZip : 30303
}
Response:
HTTP/1.1 201 Created
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
Location: https://api.prioritypaymentsystems.com/checkout/v1.1/customer/id/cardaccount/123
PUT /customer/id/cardaccount/id Update A Customer Card Account Record

Update card information on a certain record for the desired customer.

Request:
{
    number : 4444555566667898,
    expiryMonth : 07,
    expiryYear : 2016,
    cvv : 124,
    avsZip : 30303
}
Response:
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
DELETE /customer/id/cardaccount/id Delete A Customer Card Account Record

Dissociate a card from a customers record. Doing so will not impact payments that have already been authorized. This may affect recurring charges.

Response:
HTTP/1.1 204 No-Content
Content-Type: application/json; charset=utf-8 
Content-Length: 2001

Card Type


GET /cardtype Get CardType

Returns the types of cards with which the merchant is able to successfully authorize paymments.

Query Parameters:

  • merchantId - merchant Id number( optional )
Response:
[
{
    "type":0,
    "name":"Visa",
    "binStart":"400000",
    "binEnd":"499999",
    "length":16
},
{   "type":1,
    "name":"MasterCard",
    "binStart":"510000",
    "binEnd":"559999",
    "length":16
},
{
    "type":2,
    "name":"Visa",
    "binStart":"400000",
    "binEnd":"499999",
    "length":13
}
]
HTTP/1.1 200 OK 
Content-Type: application/json; charset=utf-8 
Content-Length: 2001

Compliance Summary


GET /complianceSummary Get Compliance Summary Information

Use this resource to stay abreast merchant SAQ information.

Response:
[
{
    "xmid":"45134535315145151",
    "name":"Test Merchant 340584",
    "saqStatus":"NotStarted",
    "merchantId": -340594
}
]
HTTP/1.1 200 OK 
Content-Type: application/json; charset=utf-8 
Content-Length: 2001

Customer


POST /customer Create Customer Record

Create a customer record for a merchant. Customers have other associated resources such as stored bank account, and card information, address, contact, invoice and payment information.

Request:
{
    name : Johnny,
    website : example.com,
    email : example@example.com,
    mobile : 5551239999,
    loyaltyStatus : Enrolled
}
Response:
HTTP/1.1 201 Created
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
Location: https://api.prioritypaymentsystems.com/checkout/v1.1/customer/4
                                    
GET /customer Get Customer List

Returns a list of customers associated with the merchant your access tokens have access to.

Query Parameters:

  • value - string being searched for (firstName, lastName, email, phone number)
  • limit - quantity of records to be returned after skipping amount set by offset; defaults to 0
  • offset - quantity of record to skip prior to returning amount of records set my limit; defaults to 0
Response:
{
"records":[
{
    "id":16108,
    "created":"2013-05-20T18:15:43.003Z",
    "name":"should be angela",
    "number":"15067",
    "visits":0,
    "spend":"0",
    "lastSpend":"0",
    "lastPaymentMethod":"",
    "receiveEmailPromotions":false,
    "receiveMobilePromotions":false,
    "loyaltyStatus":"NotEnrolled"
},
{
    "id":16109,
    "created":"2013-05-20T18:22:48.223Z",
    "name":"Customer 282",
    "number":"747",
    "visits":0,
    "spend":"0",
    "lastSpend":"0",
    "lastPaymentMethod":"",
    "receiveEmailPromotions":false,
    "receiveMobilePromotions":false,
    "loyaltyStatus":"NotEnrolled"
}
],
"recordCount":2
}
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
                                    
GET /customer/id Get Customer Record

Retrieve a single, specific customer record.

Response:
{
    "id":16108,
    "created":"2013-05-20T18:15:43.003Z",
    "name":"should be angela",
    "number":"15067",
    "visits":0,
    "spend":"0",
    "lastSpend":"0",
    "lastPaymentMethod":"",
    "receiveEmailPromotions":false,
    "receiveMobilePromotions":false,
    "loyaltyStatus":"NotEnrolled"
}
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
DELETE /customer/id Delete Customer Record

If a customer no longer frequents a merchants location or no longer does business with the merchant, this resource can assist with keeping their customer base clean.

Response:
HTTP/1.1 204 No-Content
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
PUT /customer/id Update Customer Record

Keep per-merchant customer information up-to-date to ensure seamless communication between the merchant and their customers. Also, make it easy for a customer to update their own information, putting potentially less work on the merchant.

Request:
{
    name : Johnny,
    website : example.com,
    email : example@example.com,
    mobile : 5551239999,
    loyaltyStatus : Enrolled
}
Response:
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
                                    
POST /customer/id/payment Create Customer Payment

Keep per-merchant customer information up-to-date to ensure seamless communication between the merchant and their customers. Also, make it easy for a customer to update their own information, putting potentially less work on the merchant.

Request:
{
    merchantId :2019213,
    tenderType : Card,
    amount : 1000,
    cardAccount :{
        number : 4444555566667898,
        expiryMonth : 07,
        expiryYear : 2016,
        cvv : 124,
        avsZip : 30303
        contact : {
            name : John Smith,
            phone : 5551238888,
            email : example@example.com,
            address :{
                 address1 : 123 Smith St,
                 city : Atlanta ,
                 state : GA,
                 zip : 30303
                }
        }
    }
}
Response:
HTTP/1.1 201 Created
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
Location: https://api.prioritypaymentsystems.com/checkout/v1.1/payment/123
                                    
GET /customer/id/payment Get a List of Payments For Customer

Retrieve a list of payments that have been created in association with a specific customer record. This can be payments made to orders that are associated with the customer, as well as, payment made using a customers stored card.

Response:
{
recordCount : 2,
records : [
{   
    "created":"2013-05-22T15:35:50.537Z",
    "id":10000000004553,
    "merchantId":1245412,
    "tenderType":"Card",
    "amount":"0.13",
    "cardAccount":{
        "hash":"JT2lXYoF42Gy5BwocoEpkJ7ZojVjLyyRAOpegn45bbc=",
        "entryMode":"Keyed",
        "last4":"2222",
        "expiryMonth":"12",
        "expiryYear":"15"
        },
    "authOnly":false,
    "status":"Settled",
    "requireSignature":false,
    "customerMatches":[],
    "settledAmount":"0",
    "settledCurrency":"USD",
    "cardPresent":true
},
{   
    "created":"2013-05-22T09:52:17.64Z",
    "id":10000000004181,
    "creatorName":"Demo Gateway",
    "merchantId":1245412,
    "tenderType":"Card",
    "amount":"0.01",
    "tax":"0",
    "tip":"0",
    "cardAccount":{
        "hash":"Nb80jedIgqsstcn9C+jqT9qRCDuhUwDv0rGyhSyb8gE=",
        "entryMode":"Keyed",
        "last4":"8148",
        "token":"PUHSceqpAtkJ7EfyTxPYXGwV",
        "expiryMonth":"07",
        "expiryYear":"20"
        },
    "authOnly":false,
    "authCode":"822866",
    "status":"Settled",
    "cardType":"Visa",
    "requireSignature":false,
    "customerMatches":[],
    "settledAmount":"0",
    "settledCurrency":"USD",
    "entryMode":"Keyed",
    "cardPresent":false
}
]
}
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
                                    
POST /customer/id/cardaccount Create Customer Card Account

Store card information for a customer. This can allows customers to easily reference their card information for future transactions.

Request:
{
    number : 4444555566667898,
    expiryMonth : 07,
    expiryYear : 2016,
    cvv : 124,
    avsZip : 30303
}
Response:
HTTP/1.1 201 Created
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
Location: https://api.prioritypaymentsystems.com/checkout/v1.1/customer/123/cardaccount/456
                                    
GET /customer/id/cardaccount Get List of Card Accounts For Customer

Returns a list of currently stored cards for a specific customer record.

Response:
{
recordCount : 2,
records : [
{   
   id : 34564,
   created : Tue May 07 2013 11:11:17 GMT-0400 (EDT),
   hash : 136bh6k5653h655b56365= ,
   cardType : Visa ,
   last4 : 1234,
   expiryMonth : 07 ,
   expiryYear : 2016,
   name : Visa - ####1234 
},
{   
   id : 23454,
   created : Tue May 07 2013 11:11:17 GMT-0400 (EDT),
   hash : 54435ggshsghh34534= ,
   cardType : Visa ,
   last4 : 1234,
   expiryMonth : 136bh6k5653h655b56365= ,
   expiryYear : 136bh6k5653h655b56365= 
   name : Visa - ####1234 
}
]
}
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
                                    
PUT /customer/id/cardaccount Update Customer Card Account Record

Customers may need to update card information for various reasons. Use this method to accomplish this.

Request:
{
    number : 4444555566667898,
    expiryMonth : 07,
    expiryYear : 2016,
    cvv : 124,
    avsZip : 30303
}
Response:
HTTP/1.1 200 OK 
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
DELETE /customer/id/cardaccount Delete Customer Card Account Record

Dissociate stored card information from a customer record and remove it from the database.

Response:
HTTP/1.1 204 No-Content
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
POST /customer/id/bankaccount Create Customer Bank Account

Store bank account information for a specified customer record.

Request:
{
    routingNumber : 123423453456,
    accountNumber : 01000345
}
Response:
HTTP/1.1 201 Created
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
Location: https://api.prioritypaymentsystems.com/checkout/v1.1/customer/123/bankaccount/456
GET /customer/id/bankaccount Get List of Bank Accounts For Customer

Returns a list of existent bank account records for a specified customer record.

Response:
{
recordCount : 2,
records : [
{   
    id : 34564,
   created : Tue May 07 2013 11:11:17 GMT-0400 (EDT),
   hash : 136bh6k5653h655b56365= ,
   last4 : 1234
},
{   
    id : 235235,
   created : Tue May 07 2013 11:11:17 GMT-0400 (EDT),
   hash : 136bh6k5653h655b56365= ,
   last4 : 3561
}
]
}
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
                                    
PUT /customer/id/bankaccount Update Customer Bank Account Record

Update information on a customer bank account record.

Request:
{
   routingNumber : 123423453456,
   accountNumber : 01000345
   contact : {
       name : John
       }
}
Response:
HTTP/1.1 200 OK 
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
                                    
DELETE /customer/id/bankaccount Delete Customer Bank Account Record

Remove a bank account record that had been associated with a specific customer record

Response:
HTTP/1.1 204 No-Content
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
POST /customer/id/photo Upload A Customer Photo

Upload an image to be used for a customer photo. This should be uploaded as a byte array. Make sure to set the Content-Type request header to 'application/octet-stream'.

Request:
{
    name : Johns Image,
    data : byte[]
}
Response:
HTTP/1.1 201 Created OK
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
Location: https://api.prioritypaymentsystems.com/checkout/v1.1/customer/123/photo
GET /customer/id/photo Retrieve A Customers Photo

Retrieve a previously uploaded image to a customer record. Image reconstruction is completed client side.

Response:
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
PUT /customer/id/contact/id Update A Customer Contact Record

 

Request:
{
    name : John Smith,
    phone : 9998906785,
    email : example@example.com,
    address :{
         address1 : 429 Smith St,
         city : New York,
         state : NY,
         zip : 10998
        }
}
Response:
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
DELETE /customer/id/contact/id Delete A Customer Contact Record
Response:
HTTP/1.1 204 No-Content
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
POST /customer/id/contact Create Customer Contact
Request:
{
    name : John Smith,
    phone : 5551238888,
    email : example@example.com,
    address :{
         address1 : 123 Smith St,
         city : Atlanta ,
         state : GA,
         zip : 30303
        }
}
Response:
HTTP/1.1 201 Created
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
Location: https://api.prioritypaymentsystems.com/checkout/v1.1/customer/123/contact/456
                                    
GET /customer/id/contact Get Customer Contact List
Response:
{
recordCount : 2,
records : [
{   
    name : John Smith,
    phone : 5551238888,
    email : example@example.com,
    address :{
         address1 : 123 Smith St,
         city : Atlanta ,
         state : GA,
         zip : 30303
        } 
},
{   
    name : John Smith,
    phone : 5551238888,
    email : example@example.com,
    address :{
         address1 : 123 Smith St,
         city : Atlanta ,
         state : GA,
         zip : 30303
        }
}
]
}
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
                                    
GET /customer/id/address/id Get Address Record

Get a specific address record for a specified customer record.

Response:
{   
   id : 12345,
   address1 : 123 Smith St,
   city : Atlanta,
   state : GA,
   zip : 30303
   country : USA,
   created : Wed May 22 2013 16:03:43 GMT-0400 (EDT)
}
HTTP/1.1 200 OK 
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
GET /customer/id/address Get Address List

Returns a list of address records that have been stored for the passed customer id.

Response:
{
recordCount : 2,
records : [
{   
    id : 12345,
    address1 : 123 Smith St,
    city : Atlanta,
    state : GA,
    zip : 30303
    country : USA,
    created : Tue May 07 2013 11:11:17 GMT-0400 (EDT)
},
{
    id : 12345,
    address1 : 123 Smith St,
    city : New York,
    state : NY,
    zip : 23655
    country : USA,
    created : Tue May 07 2013 11:11:17 GMT-0400 (EDT)
    }
]
}
HTTP/1.1 200 OK 
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
POST /customer/id/address Create Address

Create and store a new address record for a customer.

Request:
{
   address1 : 123 Smith St,
   city : Atlanta,
   state : GA,
   zip : 30303
}
Response:
HTTP/1.1 201 Created 
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
Location: https://api.prioritypaymentsystems.com/checkout/v1.1/customer/id/address/4567
PUT /customer/id/address/id Update Address Record

Update an existent address record for a certain customer. Value passed that already retain a value on the record will be overwritten. Value passed for fields that were previously unpopulated, will be written.

Request:
{
   address1 : 123 Smith St,
   city : Atlanta,
   state : GA,
   zip : 30303
}
Response:
HTTP/1.1 200 OK 
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
DELETE /customer/id/address/id Delete Address Record

Remove an address record from association with a customer.

Response:
HTTP/1.1 204 No-Content
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
POST /customer/id/order Create Customer Order

Create an order that is associated with the passed customer id. This differs from creating an order using the order resource as every order created via this method will have a customer associated.

Request:
{
    merchantId : 124956759,
    totalAmount : 10.00,
    type : Sale,
    quantity : 1,
    purchases : [
        {
        quantity : 2,
        price : 10.00,
        productVariant : {
            id : 46331,
            productId : 124956759,
            }
        }
    ]    
}
Response:
HTTP/1.1 201 Created 
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
Location: https://api.prioritypaymentsystems.com/checkout/v1.1/order/4567
GET /customer/id/order Get List of Orders For A Customer

Returns a list of order that have been created and associated with the passed customer id.

Response:
{
recordCount : 2,
records : [
{
    "id":914061,
    "merchantId":1245412,
    "type":"Sale",
    "receiptNumber":"NJCTX018D3T9",
    "accessCode":"P6LCPM",
    "invoiceNumber":4475,
    "isTaxExempt":false,
    "returnReason":"",
    "memo":"",
    "isVoided":false,
    "isVoidable":true,
    "quantity":1,
    "totalAmount":"68.28",
    "taxAmount":"8.28",
    "tipAmount":"0",
    "balance":"68.28",
    "purchaseOrderNumber":"",
    "invoiceDate":"2013-04-16T00:00:00",
    "isClick2PayEnabled":true,
    "sourceType":"MXM",
    "paymentType":"Invoice",
    "purchases":[
    {
        "id":1156769,
        "productName":"After School Care",
        "description":"",
        "quantity":1,
        "price":"60",
        "subTotalAmount":"60",
        "taxRate":"0.1381",
        "taxAmount":"8.286",
        "totalAmount":"68.286",
        "trackingNumber":0,
        "created":"2013-04-16T14:37:27.9975174-04:00",
        "taxes":[],
        "discounts":[]
    }
    ],
    "discounts":[],
    "customer":{
    "id":237438,
    "name":"Tracy High2",
    "number":"26646",
    "lastVisit":"2013-05-23T13:48:15.971876Z",
    "receiveEmailPromotions":false,
    "receiveMobilePromotions":false,
    "loyaltyStatus":"NotEnrolled"
    },
    "billingAddress":{
        "id":486329,
        "description":"Billing",
        "address1":"2001 Westside Pkwy2",
        "address2":"",
        "city":"Alpharetta",
        "state":"GA",
        "zip":"30004",
        "country":"",
        "created":"2013-04-16T18:37:28.103Z"
    }
},
{
    "id":106307,
    "merchantId":1245412,
    "type":"Sale",
    "receiptNumber":"101QI00NIWAU",
    "accessCode":"V8F5GO",
    "invoiceNumber":4117,
    "isTaxExempt":false,
    "returnReason":"",
    "memo":"",
    "isVoided":false,
    "isVoidable":true,
    "totalAmount":"0",
    "taxAmount":"0",
    "balance":"0",
    "purchaseOrderNumber":"",
    "invoiceDate":"2013-02-26T00:00:00",
    "isClick2PayEnabled":true,
    "sourceType":"MXM",
    "paymentType":"Invoice",
    "purchases":[],
    "discounts":[],
    "customer":{
        "id":237438,
        "name":"Tracy High",
        "number":"26646",
        "lastVisit":"2013-05-23T13:48:16.034276Z",
        "receiveEmailPromotions":false,
        "receiveMobilePromotions":false,
        "loyaltyStatus":"NotEnrolled"
    },
    "billingAddress":{
        "id":385804,
        "address1":"2001 Westside Pkwy",
        "address2":"",
        "city":"Alpharetta",
        "state":"GA",
        "zip":"30004",
        "country":"",
        "created":"2013-02-26T22:05:39.783Z"
    }
}
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
GET /customer/id/subscription Get Subscriptions A Customer Is Subscribed To

Returns a list of plans that a customer is currently subscribed to.

Query Parameters:

  • limit - quantity of records to be returned after skipping amount set by offset; defaults to 0
  • offset - quantity of record to skip prior to returning amount of records set my limit; defaults to 0
Response:
[
{
    "id":10000000000240,
    "startDate":"2013-05-23T00:00:00",
    "invoiceMethod":"AutoPay",
    "cardAccountId":10000000003288,
    "allowPartialPayment":false,
    "status":"Active",
    "receiptContact":"test@pps.io",
    "created":"2013-05-23T13:58:54.75",
    "modified":"2013-05-23T13:58:54.75",
    "customerId":10000000019752
},
{
    "id":10000000000241,
    "startDate":"2013-05-23T00:00:00",
    "invoiceMethod":"AutoPay",
    "cardAccountId":10000000003288,
    "allowPartialPayment":false,
    "status":"Active",
    "receiptContact":"test@pps.io",
    "created":"2013-05-23T13:59:31.393",
    "modified":"2013-05-23T13:59:31.393",
    "customerId":10000000019752
}
]
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
                                    

Device


POST /device Create Device

Create new device (E.g. Link 2 Pay) that can be used for payment.

Query Parameters:

  • merchantId - merchant Id number
  • limit - quantity of records to be returned after skipping amount set by offset; defaults to 0
  • offset - quantity of record to skip prior to returning amount of records set my limit; defaults to 0
Request:
{
    "name": "test",
    "deviceType": "Link2Pay",
    "deviceTypeName": "Link 2 Pay",
    "UDID": "9a1a6228-6ca7-416e-acf2-b86dd1362ef7",
    "enabled": true,
    "onSuccessUrl": "example.com",
    "onFailureUrl": "example.com",
    "merchantId"13456,
    "status": "Active",
    "isNew": true,
    "merchantsList": [
    {
        "merchantId"34132,
        "xmid": "518089240382911",
        "name": "PPS Engineering - Demo"
    }
    ]
}
Response:
HTTP/1.1 201 Created
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
Location: https://api.prioritypaymentsystems.com/checkout/v1.1/device/4
                                    
GET /device Get Device List

Returns a list of devices that have been created for the merchant that your access tokens have been granted for.

Response:
{
recordCount : 2,
records : [
{
    "id":"231955b9-3e8b-4da6-a60d-58b99f8a2886",
    "name":"iPod touch1",
    "deviceType":"Mobile",
    "deviceTypeName":"Mobile",
    "UDID":"F8D20774-AA12-42EB-AF5E-64E141230E89",
    "enabled":true,
    "merchantId"136556,
    "dba":"PPS Engineering - Demo"},
{
    "id":"6c5e3abd-1273-49c5-8c99-202b26cf8284",
    "name":"Pete's Fone1",
    "deviceType":"Mobile",
    "deviceTypeName":"Mobile",
    "UDID":"21865F2C-55C3-4933-B286-41EF0D9ED80B",
    "enabled":true,
    "merchantId"256266,
    "dba":"PPS Engineering - Demo"
}
]
}
HTTP/1.1 200 Created 
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
DELETE /device/id Delete Device Record

Remove a device record from the merchant.

Response:
HTTP/1.1 200 Created 
Content-Type: application/json; charset=utf-8 
Content-Length: 2001

Discount


GET /discount Get Discount List

Returns a list of devices the merchant has created.

Query Parameters:

  • merchantId - merchant Id number
  • limit - quantity of records to be returned after skipping amount set by offset; defaults to 0
  • offset - quantity of record to skip prior to returning amount of records set my limit; defaults to 0
Response:
{
recordCount : 2,
records : [
{
"id":1705,
"merchantId"53532,
"dba":"PPS Engineering - Demo",
"discountType":"Order",
"discountRateType":"Percent",
"discountApplicationType":"Coupon",
"name":"10 order exclusive coupon",
"rate":"0.1",
"code":"10",
"startDate":"2013-04-18T04:00:00Z",
"endDate":"2013-05-18T04:00:00Z",
"isExclusive":true,
"isApprovalRequired":false,
"created":"2013-04-18T18:00:40.443Z",
"modified":"2013-04-25T14:35:39.513Z",
"tags":[]
},
{
"id":1689,
"merchantId"23542,
"dba":"PPS Engineering - Demo",
"discountType":"Item",
"discountRateType":"Percent",
"discountApplicationType":"Manual",
"name":"3% item manual approval",
"rate":"0.03",
"code":"DM42O6T17MXH4PPW",
"startDate":"2013-04-15T04:00:00Z",
"endDate":"2014-04-15T04:00:00Z",
"isExclusive":false,
"isApprovalRequired":true,
"created":"2013-04-15T18:10:25.77Z",
"modified":"2013-04-25T14:37:32.62Z",
"tags":[]
}
]
}
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
GET /discount/id Get A Discount Record

Returns a singular discount record that exists for the merchant.

Response:
{
    "id":1705,
    "merchantId"53532,
    "dba":"PPS Engineering - Demo",
    "discountType":"Order",
    "discountRateType":"Percent",
    "discountApplicationType":"Coupon",
    "name":"10 order exclusive coupon",
    "rate":"0.1",
    "code":"10",
    "startDate":"2013-04-18T04:00:00Z",
    "endDate":"2013-05-18T04:00:00Z",
    "isExclusive":true,
    "isApprovalRequired":false,
    "created":"2013-04-18T18:00:40.443Z",
    "modified":"2013-04-25T14:35:39.513Z",
    "tags":[]
}
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
                                    
POST /discount Create Discount

Create and store a new discount. This can later be applied to orders with and without customer association.

Query Parameters:

  • merchantId - merchant Id number
Request:
{
    discountType : Order,
    discountRateType : Percent,
    discountApplicationType : Manual,
    name : Decent Discount,
    rate : .10,
    startDate : Tue May 07 2013 11:11:17 GMT-0400 (EDT)
}
Response:
HTTP/1.1 201 Created
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
Location: https://api.prioritypaymentsystems.com/checkout/v1.1/dicount/4
PUT /discount Update A Discount Record

Update an existent discount record. This can assist with maintaining a manageable amount of discounts for a merchant so that it is easier for them to know what discounts/special offers they are currently offering and if discounts are still valid.

Request:
{
    discountType : Order,
    discountRateType : Percent,
    discountApplicationType : Manual,
    name : Great Discount,
    rate : .99,
    startDate : Tue May 07 2013 11:11:17 GMT-0400 (EDT)
}
Response:
HTTP/1.1 200 Created 
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
DELETE /discount/id Delete Discount Record

Remove a discount record.

Response:
HTTP/1.1 204 No-Content
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
POST /discount/id/tag Create Discount Tag

Add a tag to a discount record this can assist with tying inventory items to available incentives for customers.

Query Parameters:

  • tags - single or comma separated list of multiple tags
Response:
HTTP/1.1 201 Created
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
Location: https://api.prioritypaymentsystems.com/checkout/v1.1/dicount/4
GET /discount/id/tag Get Discount Tags

Returns tags associated with adiscount record.

Response:
[tag1,tag2,tag3]
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
                                    

Echo


GET /echo Get API Response

This method acts a ping. The API responds with the text that is sent via the available query parameters.

Query Parameters:

  • repeat - response will contain input text
  • reverse - response will contain reverse of input text
Response:
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8 
Content-Length: 2001

Event


GET /event Get Event Response(s)

Get a list of records for a number of merchant events.

Query Parameters:

  • startDate - Beginning date to pull records from
  • endDate - Ending date to cease pull records on
  • limit - The quantity of records to pull
  • offset - The amount of records to skip before pulling the amount set by the quantity
  • eventType - Available values
    • Chargeback
    • Deposit
    • MerchantApproved
    • MerchantClosed
    • TinValidation
    • MerchantDenied
    • ReturnCompleted
    • ChargebackResolution
    • SAQComplete
    • QuestionableMerchantActivity
Response:
{
"records":[
{
    "id":37,
    "merchantId"23452,
    "eventDate":"2013-06-17T22:5518.3Z",
    "EventType":"MerchantDenied",
    "EventData":"<event><merchantId>67808</merchantId><xmid /><dba>adFreeq,LLC</dba><date>Jun 17 2013  6:55PM</date><reason>MerchantDenied</reason></event>"
},
{
    "id":38,
    "merchantId"23453,
    "eventDate":"2013-06-17T22:55:31.823Z",
    "EventType":"MerchantDenied",
    "EventData":"<event><merchantId>67632</merchantId><xmid /><dba>Test_130613115507</dba><date>Jun 17 2013  6:55PM</date><reason>MerchantDenied<reason></event>"
},
{
    "id":39,
    "merchantId"55342,
    "eventDate":"2013-06-17T22:55:31.83Z",
    "EventType":"MerchantDenied",
    "EventData":"<event><merchantId>67638</merchantId><xmid /><dba>MAC Test2</dba><date>Jun 17 2013  6:55PM</date><reason>MerchantDenied</reason></event>"
}
]
"recordCount" 3
}
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8 
Content-Length: 2001

Fraud Setting


GET /fraudsetting Get Fraud Setting List

Get the current fraud setting seletions for a merchant.

Query Parameters:

  • merchantId - The merchant Id number( optional* )
  • limit - quantity of records to be returned after skipping amount set by offset; defaults to 0
  • offset - quantity of record to skip prior to returning amount of records set my limit; defaults to 0

The merchant Id parameters is required for multi-merchants

The merchant id is required for multi-merchants.

Request:
{
recordCount : 2,
records : [
{
    "merchantId": 145543,
    "keyedAVSAddress":true,
    "keyedAVSPostalCode":true,
    "keyedCVV":true,
    "swipedAVSAddress":true,
    "swipedAVSPostalCode":true,
    "swipedLastFourDigits":true,
    "dba":"PPS Engineering - Demo",
    "xmid":"562626256246"
},
{
    "merchantId": 145444,
    "keyedAVSAddress":true,
    "keyedAVSPostalCode":true,
    "keyedCVV":true,
    "swipedAVSAddress":true,
    "swipedAVSPostalCode":true,
    "swipedLastFourDigits":true,
    "dba":"PPS Engineering - Demo",
    "xmid":"25626262662"
}
]
}
Response:
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
GET /fraudsetting Get A Fraud Setting Record

Get a record of the fraud settings.

Query Parameters:

  • merchantId - The merchant Id number
Request:
{
    "merchantId": 145543,
    "keyedAVSAddress":true,
    "keyedAVSPostalCode":true,
    "keyedCVV":true,
    "swipedAVSAddress":true,
    "swipedAVSPostalCode":true,
    "swipedLastFourDigits":true,
    "dba":"PPS Engineering - Demo",
    "xmid":"562626256246"
}
Response:
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
PUT /fraudsetting Create Fraud Setting Record

Manipulate the fraud settings.

Request:
{
    "merchantId":35206,
    "swipedLastFourDigits":true,
    "swipedAVSAddress":true,
    "keyedCVV":true,
    "keyedAVSPostalCode":true,
    "keyedAVSAddress":true,
    "xmid":"3562247247",
    "name":"JEFFS CAR WASH",
    "isNew":false,
    "dba":"JEFFS CAR WASH",
}
Response:
HTTP/1.1 201 Created 
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
Location: https://api.prioritypaymentsystems.com/checkout/v1.1/fraudsetting/4

Geocode


POST /geocode Create Geocode

Create a geocode record. This can be used to limit access to the merchants data based on the location of the device used.

Query Parameters:

  • merchantId - The merchant Id number
Request:
{
    "name":"testGeocode",
    "latitude":33.8095194,
    "longitude":-84.47203830000001,
    "radius":"250",
    "displayUnitOfMeasure":"Feet",
    "address":{
        "address1":"123 Smith St",
        "city":"Atlanta",
        "state":"GA",
        "zip":"30303"
    }
}
Response:
HTTP/1.1 201 Created
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
Location: https://api.prioritypaymentsystems.com/checkout/v1.1/geocode/323
GET /geocode Get Geocode List

Get a list of existent geocode records current stored for a merchant.

Query Parameters:

  • merchantId - The merchant Id number
  • limit - quantity of records to be returned after skipping amount set by offset; defaults to 0
  • offset - quantity of record to skip prior to returning amount of records set my limit; defaults to 0
Request:
{
recordCount : 2,
records : [
{
    "id":"b0ea19bd-46de-4721-9283-e1870d448a3e",
    "name":"PPS1",
    "merchantId":3455,
    "latitude":34.083427,
    "longitude":-84.274377,
    "radius":100.0,
    "displayUnitOfMeasure":"Feet",
    "created":"2013-03-13T12:38:43.217",
    "accuracy":0.0,
    "dba":"PPS Demo"
},
{
    "id":"ed03ec34-26ec-4030-bd21-2609104c4834",
    "name":"Angela",
    "merchantId":234535,
    "latitude":33.052296,
    "longitude":-90.215457,
    "radius":10.0,
    "displayUnitOfMeasure":"Miles",
    "created":"2013-03-13T12:36:52.48",
    "accuracy":0.0,
    "dba":"PPS Demo"
}
]
}
Response:
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
                                    
PUT /geocode Update A Geocode Record

Update value on an existent geocode record.

Request:
{
    "name":"realGeocode",
    "latitude":33.8095194,
    "longitude":-84.47203830000001,
    "radius":"250",
    "displayUnitOfMeasure":"Feet",
    "address":{
        "address1":"123 Smith St",
        "city":"Atlanta",
        "state":"GA",
        "zip":"30303"
        }
}
Response:
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
DELETE /geocode Delete Geocode Record

Delete a geocode. Doing so will remove restrictions to users based on the deleted record.

Response:
HTTP/1.1 204 No-Content
Content-Type: application/json; charset=utf-8 
Content-Length: 2001

Import


POST /import/catalog Post Catalog

Used to import a CSV

Request:

Similar to uploading an image, this feature uploads a CSV file of a catalog. Template avaialable.

Response:
HTTP/1.1 200 Created
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
GET /import/catalog Retrieve imported catalog

Retrieves imported catalog

Request:
[
{
"Name":"1376576726",
"ProductNumber":"1011",
"Price":"0.2000",
"ReorderThreshold":"0",
"Tags":["tag"],
"CsvExtensions":[]
},
{
"Name":"1376576923",
"ProductNumber":"1012",
"Price":"0.0100",
"ReorderThreshold":"0",
"Tags":[],
"CsvExtensions":[]
},
{
"Name":"1376577383",
"ProductNumber":"1015",
"Price":"0.0100",
"ReorderThreshold":"0",
"Tags":[],
"CsvExtensions":[]
},
{
"Name":"1376577414",
"ProductNumber":"1016",
"Price":"0.0100",
"ReorderThreshold":"0",
"Tags":[],
"CsvExtensions":[]
}
]
Response:
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
PUT /import/catalog Update an imported set

Update/modify the values on an existent IP Address record.

Query Parameters:

  • importSetId - the import set Id that was returned when uploading
  • replaceAll - true/false to replace everything in current inventory
  • cancel - true/false delete upload
Response:
HTTP/1.1 204 No-Content
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
POST /import/customer Upload CSV of Customer information

Our API will parse a CSV file of customer data adhering to the following header names:

Query Parameters:

  • ContactName
  • HomePhone
  • MobilePhone
  • StreetAddress_1
  • StreetAddress_2
  • City
  • State
  • PostalCode
  • PrimaryEmail
Request:

Similar to uploading an image, this feature uploads a CSV file of customer data. Template avaialable.

Response:
HTTP/1.1 200 Created
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
POST /import/merchantupload Upload a file to your merchant folder in MXISOAgent

This will allow the upload of a file to your attachments tab in MXISOAgent.

Query Parameters:

  • fileName - Name of file
  • fileSize - Size of file[bytes]
  • fileType - image/png, application/msword, application/pdf, text/rtf
  • merchantId - The id of the merchant
Request:

This feature uploads a file through the API to the merchants attachments tab in MXISOAgent.

Response:
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
POST /import/quantity Upload amount of inventory to locations

This will allow the uploading of items quanitities to a specified location

Query Parameters:

  • merchantId - The id of the merchant
  • locationId - Id of the products location
Request:

This feature provides an easy way to upload new quantaities to by referencing the id of an inventory item.

Response:
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
GET /import/quantity Retrieve import set

Retrieve an import set

Query Parameters:

  • locationId - Id of the products location
Response:
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
PUT /import/quantity update import set

This provides a method to cancel the effects on the inventory quantity that the passed id would have had.

Query Parameters:

  • importSetId - Id of the imported set
  • cancel - true/false
Response:
HTTP/1.1 204 No-Content
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
POST /import/onboarding Upload onboarding information

This provides a method to upload onboarding information via CSV file and, responds to the following headers:

  • PONumber
  • PrimaryID
  • Quantity
  • Cost
  • Price
  • Net

Query Parameters:

  • merchantId - The id of the merchant
  • locationId - Id of the products location
Response:
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
PUT /import/onboarding Update onboarding upload status

Cancel an onboarding upload.

Query Parameters:

  • importSetId - Id of the imported set
  • cancel - true/false to cancel the effect of the imported set
Response:
HTTP/1.1 204 No-Content
Content-Type: application/json; charset=utf-8 
Content-Length: 2001

Inventory Tracking


GET /inventorytracking Get inventorytracking

Returns a history of invenotory-related import use.

Response:
{
"records":[
{
    "id":1895,
    "importSetId":"b10bbdbb-f6d7-4633-8738-98e396a84355",
    "actionType":"OnboardingImport",
    "note":"0 items imported.",
    "status":"Pending",
    "createdBy":"envTest",
    "createdDate":"2013-09-06T15:32:19.917Z",
    "locationName":"1378401352"
},
{
    "id":1894,
    "importSetId":"57139b5b-841c-47fd-aaaa-43a42a9e0a35",
    "actionType":"QuantityImport",
    "note":"0 items updated.",
    "status":"Cancelled",
    "createdBy":"envTest",
    "createdDate":"2013-09-06T15:32:17.043Z",
    "locationName":"1378401352"
},
{
    "id":1893,
    "actionType":"Void",
    "status":"Complete",
    "createdBy":"envTest",
    "createdDate":"2013-09-06T14:27:45.87Z",
    "locationName":"1378401352"
},
],
"recordCount":3
}
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
GET /inventorytracking/id Get inventorytracking item

Returns a specific item from the history of inventory-related import use.

Response:
{
    "id":1895,
    "importSetId":"b10bbdbb-f6d7-4633-8738-98e396a84355",
    "actionType":"OnboardingImport",
    "note":"0 items imported.",
    "status":"Pending",
    "createdBy":"envTest",
    "createdDate":"2013-09-06T15:32:19.917Z",
    "locationName":"1378401352"
}
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8 
Content-Length: 2001

Inventory Transfer


POST /inventorytransfer Transfer an amount of inventory from location to another

Transfer the quantity of an inventory items from one location to another.

Query Parameters:

  • to - The id of the products current location
  • from - The id of the products destination
Request:
{
    "to": 12345512,
    "from": 464354562,
    "variants":[
        {
        "itemId": 2356265,
        "salePrice":14.99,
        "variantId": 12341245009
        }
    ]
}
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
GET /inventorytracking/id Get inventorytracking item

Returns a specific item from the history of inventory-related import use.

Response:
{
    "id":1895,
    "importSetId":"b10bbdbb-f6d7-4633-8738-98e396a84355",
    "actionType":"OnboardingImport",
    "note":"0 items imported.",
    "status":"Pending",
    "createdBy":"envTest",
    "createdDate":"2013-09-06T15:32:19.917Z",
    "locationName":"1378401352"
}
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8 
Content-Length: 2001

Location


POST /location Create Location Record

A part of inventory managemen, create a location record to monitor inventory quantities.

Request:
{
    "name":"testLocation",
    "addressString":"135 test St,
     Testlanta,: 30303",
    "merchantId":48200,
    "address":{
        "address1":"135 test St",
        "city":"Testlanta",
        "state":"",
        "zip":"30303"
    }
}
Response:
HTTP/1.1 201 Created
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
Location: https://api.prioritypaymentsystems.com/checkout/v1.1/location/323
GET /location Get Location Record List

Returns a list of created location records. This can be helpful to a merchant in seeing product levels at a multiplicity of locations.

Request:
{
recordCount : 2,
records : [
{
    "id": 171,
    "name": "Store 10",
    "created": "2013-04-25T14: 18: 48.727Z",
    "modified": "2013-04-25T14: 18: 57.74Z",
    "isDefault": false,
    "address": {
        "address1": "main street",
        "city": "roswell",
        "state": "GA",
        "zip": "30022"
},
{
    "id": 171,
    "name": "Store 10",
    "created": "2013-04-25T14: 18: 48.727Z",
    "modified": "2013-04-25T14: 18: 57.74Z",
    "isDefault": false,
    "address": {
        "address1": "main street",
        "city": "roswell",
        "state": "GA",
        "zip": "30022"
}
]
}
Response:
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
GET /location/id Get Location Record

Get a specific location record amongst the many that may exist.

Request:
{
    "id":171,
    "name":"Store 10",
    "created":"2013-04-25T14:18:48.727Z",
    "modified":"2013-04-25T14:18:57.74Z",
    "isDefault":false,"address":{
        "address1":"main street",
        "city":"roswell",
        "state":"GA",
        "zip":"30022"
}
Response:
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
PUT /location Update A Location Record

Update the value on an existent location record. Value that are written will be overwritten or added.

Request:
{
    "id":171,
    "name":"Store 10",
    "created":"2013-04-25T14:18:48.727Z",
    "modified":"2013-04-25T14:18:57.74Z",
    "isDefault":false,"address":{
        "address1":"main street",
        "city":"roswell",
        "state":"GA",
        "zip":"30022"
}
Response:
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
DELETE /location/id Delete A Location Record

Remove a location from a merchants account. This dissociate product that reference this location.

Response:
HTTP/1.1 204 No-Content
Content-Type: application/json; charset=utf-8 
Content-Length: 2001

Merchant


GET /merchant Get Merchant Information

Get merchant information such as XMID and various restrictions. Multi-merchants will have more than 1 record in the results.

Response:
"recordCount":1,
"records":[
[
{
    "id":"8567c951-db39-4d51-b67f-c882eb57670f",
    "merchantId": 3256536,
    "merchantDBA":"PPS Engineering - Demo",
    "xmid":"235666236226",
    "roleId":2,id='device
    "role":"Supervisor",
    "deviceRestrictions":[],
    "geocodeRestrictions":[],
    "timeRestrictions":[],
    "ipAddressRestrictions":[],
    "transactionRestrictions":[
    {
    "id":"53e7c510-6a90-4d7d-9900-e6e7ead731da",
    "merchantId": 2566326,
    "restrictionTypeId":1,
    "limit":"1"
    },
    {
    "id":"df5454ef-14ae-4d54-b2ba-c7e971e82c41",
    "merchantId": 356256,
    "restrictionTypeId":2,
    "limit":"1"
    }
    ]
}
]
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
GET /merchantbillingplan Get Merchant Billing Plan

Per merchant (if multi merchant) this returns the current billing plan criteria.

Response:
{
"recordCount":1,
"records":[
{
    "merchantId": 13451,
    "xmid":"124555515",
    "name":"PPS Engineering - Demo",
    "billingPlan":1,
    "isTrackingEnabled":true
}
]
}
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
                                    
POST /merchantbillingplan Change Billing Plan

Change the billing plan of a merchant as needed. Charges may vary depending on the upgrade/downgrade of the package selected.

Query Parameters:

  • merchantId - The merchant Id number
  • billingPlan - A value between 1 - 5 representing a billing plan Level of MX Merchant
Response:
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8 
Content-Length: 2001

Order


GET /order Get Order List

Returns a list of order records whether associated with a customer or not.

Query Parameters:

  • merchantId - The merchant Id number
  • searchType - The type of search to perform (Account, Email, Receipt, Customer, Invoices, Recent, InvoiceNumber, PhoneNumber, PurchaseOrderNumber, CustomerId)
  • searchValue - Based on the type of search, the value to be searched for
  • startDate - The earliest date to begin pulls records from
  • endDate - The last date t pull records from
  • limit - quantity of records to be returned after skipping amount set by offset; defaults to 0
  • offset - quantity of record to skip prior to returning amount of records set my limit; defaults to 0
Response:
{
recordCount : 2,
records : [
{
    "id":964183,
    "merchantId"14133,
    "type":"Sale",
    "receiptNumber":"NJCY3000NGGP",
    "invoiceNumber":4694,
    "customerName":"Customer 3293",
    "customerNumber":"27315",
    "isTaxExempt":false,
    "memo":"",
    "isVoided":false,
    "isVoidable":true,
    "quantity":1,
    "totalAmount":"0.01",
    "taxAmount":"0",
    "tipAmount":"0",
    "balance":"0.01",
    "purchaseOrderNumber":"",
    "invoiceDate":"2013-05-03T00:00:00",
    "isClick2PayEnabled":true,
    "paymentType":"Invoice"
},
{
    "id":963648,
    "merchantId"31443,
    "type":"Sale",
    "receiptNumber":"NJCXY00KVACF",
    "invoiceNumber":4693,
    "customerName":"Customer 3292",
    "customerNumber":"27314",
    "isTaxExempt":false,
    "memo":"",
    "isVoided":false,
    "isVoidable":true,
    "quantity":1,
    "totalAmount":"0.01",
    "taxAmount":"0",
    "tipAmount":"0",
    "balance":"0.01",
    "purchaseOrderNumber":"",
    "invoiceDate":"2013-05-03T00:00:00",
    "isClick2PayEnabled":true,
    "sourceType":"MXM",
    "paymentType":"Invoice"
}   
]
}
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
GET /order/id Get An Order Record

Returns the information on a specific order record.

Response:
{
    "id":964183,
    "merchantId"14133,
    "type":"Sale",
    "receiptNumber":"NJCY3000NGGP",
    "invoiceNumber":4694,
    "customerName":"Customer 3293",
    "customerNumber":"27315",
    "isTaxExempt":false,
    "memo":"",
    "isVoided":false,
    "isVoidable":true,
    "quantity":1,
    "totalAmount":"0.01",
    "taxAmount":"0",
    "tipAmount":"0",
    "balance":"0.01",
    "purchaseOrderNumber":"",
    "invoiceDate":"2013-05-03T00:00:00",
    "isClick2PayEnabled":true,
    "paymentType":"Invoice"
}
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
POST /order/total Ensure correct totals with you invoice

Order records created via this resource do no have to have a customer association, though recommended.

Request:
{
    merchantId : 123445,
    totalAmount : 10.00
    type : Sale,
    quantity : 1
}
Response:
{
    merchantId : 123445,
    totalAmount : 10.00
    type : Sale,
    quantity : 1
}
Response:
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
POST /order Create An Order

Order records created via this resource do no have to have a customer association, though recommended.

Request:
{
    merchantId : 123445,
    totalAmount : 10.00
    type : Sale,
    quantity : 1
}
Response:
HTTP/1.1 201 Created
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
PUT /order/id Create An Order

In the case that you are not attaching any purchases to an order, but want to update

Request:
{
    merchantId : 123445,
    totalAmount : 10.00
    type : Sale,
    quantity : 1
}
Response:
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
DELETE /order/id Delete An Order

Remove an invoice record. If an invoice has received payment this is unable to be deleted.

Response:
HTTP/1.1 204 No-Content
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
GET /order/id/discount Get List of Discounts on Order

Returns all order-level discounts currently appended to the passed order id.

Response:
{
recordCount : 2,
records : [
{
    "id":1779,
    "discountType":"Order",
    "discountRateType":"Percent",
    "discountApplicationType":"Automatic",
    "name":"Ipos Test",
    "rate":"0.5",
    "code":"DA42Q759UIW1SAAP",
    "startDate":"2013-05-02T04:00:00Z",
    "endDate":"2013-06-02T04:00:00Z",
    "isExclusive":false,
    "isApprovalRequired":false,
    "tags":[]
},
{
    "id"345,
    "discountType":"Order",
    "discountRateType":"Percent",
    "discountApplicationType":"Automatic",
    "name":"Supremo discount",
    "rate":"0.5",
    "code":"GA2344GJG245",
    "startDate":"2013-05-02T04:00:00Z",
    "endDate":"2013-06-02T04:00:00Z",
    "isExclusive":false,
    "isApprovalRequired":false,
    "tags":[]
}
]
}
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
GET /order/id/discount/id Get An Discount Record on an Order

Returns information about a specific discount record that is currently appended to an order.

Response:
{
    "id":1779,
    "discountType":"Order",
    "discountRateType":"Percent",
    "discountApplicationType":"Automatic",
    "name":"Ipos Test",
    "rate":"0.5",
    "code":"DA42Q759UIW1SAAP",
    "startDate":"2013-05-02T04:00:00Z",
    "endDate":"2013-06-02T04:00:00Z",
    "isExclusive":false,
    "isApprovalRequired":false,
    "tags":[]
}
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
POST /order/id/discount Append Discount to an Order

Add an order-level discount to an existent order record.

Request:
{
    id : 231,
    discountRateType : Amount,
    discountApplicationType : Manual,
    name : 3.99 off any order,
    rate : 3.99
}
Response:
HTTP/1.1 201 Created
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
Location: https://api.prioritypaymentsystems.com/checkout/v1.1/order/4080/discount/1
DELETE /order/id/discount/id Delete a Discount From an Order

Remove a specific discount from and order record ; denoted by their ids.

Response:
HTTP/1.1 204 No-Content
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
GET /order/id/history Get Order History

Retrieve a record of an orders history. This is the information that appears at the bottom of an invoice(if enabled) in MX as well as on receipts from invoices sent via email.

Response:
[
{
    "type":"Receipt",
    "message":"Invoice sent to john.smith@example",
    "created":"2013-05-03T20:12:18.923Z",
    "createdBy":"John",
    "userId":"36773db9-6521-4d75-8dd8-c0fefcab7128"
},
{
    "type":"Invoice",
    "message":"Invoice created with amount $0.01",
    "created":"2013-05-03T19:51:40.073Z",
    "createdBy":"Jeff",
    "userId":"10ea7e02-d3b8-46c2-8c8e-6c20016a4e9d"
}
]
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
POST /order/id/payment Make Payment on an Order

The order resource accepts payments. This parallels the payment resource. Card payments made to an invoice with a customer associated, will be stored as card accounts for that customer.

Request:
{
   merchantId :2019213,
   tenderType :Card,
   amount :1000,
   cardAccount :{
       number : 4010555544442222,
       expiryMonth : 12,
       expiryyear : 2016,
       cvv : 842,
       avsZip : 40003
   }
}
HTTP/1.1 201 Created
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
Location: https://api.prioritypaymentsystems.com/checkout/v1.1/payment/234
GET /order/id/payment Get Payment Records on an Order

Similar to submitting a GET to the payment resource, but pulls a list of payment with a limited scope to those applied to the specified order record.

Request:
{
recordCount : 2,
records : [   
 {
   created :Tue May 07 2013 11:11:17 GMT-0400 (EDT), 
   id : 123324234,
   creatorName :James Clerkton,   
   creatorAppName :imaxPOS1.0,
   replayId :128376,
   merchantId :2019213,
   deviceId :2019213,
   currency :USD,
   tenderType :Card,
   amount :1000,
   tax :0,
   tip :0,
   meta :{},
   cardAccount : {
       cardType : VISA,
       currency : USD,
       last4 : 2222,
       expiryMonth : 07,
       expiryYear : 2016    
       }
   bankAccount :{},
   loyaltyAccount :{},
   authOnly :false,
   authCode :7Jo45Q2,
   status :authorized,
   fraudScore :0,
   fraudMeta :{},
   requireSignature :false,
   customerMatches :[],
   settledAmount :0,
   settledCurrency :,
   exchangeRate :,
   estimatedDepositDate : Tue May 07 2013 11:11:17 GMT-0400 (EDT)
},
{   
   created :Tue May 07 2013 11:11:17 GMT-0400 (EDT), 
   id : 123324234,
   creatorName :James Clerkton,   
   creatorAppName :imaxPOS1.0,
   replayId :128376,
   merchantId :2019213,
   deviceId :2019213,
   currency :USD,
   tenderType :Card,
   amount :1000,
   tax :0,
   tip :0,
   meta :{},
   cardAccount : {
       cardType : VISA,
       currency : USD,
       last4 : 2222,
       expiryMonth : 07,
       expiryYear : 2016    
       }
   bankAccount :{},
   loyaltyAccount :{},
   authOnly :false,
   authCode :7Jo45Q2,
   status :authorized,
   fraudScore :0,
   fraudMeta :{},
   requireSignature :false,
   customerMatches :[],
   settledAmount :0,
   settledCurrency :,
   exchangeRate :,
   estimatedDepositDate : Tue May 07 2013 11:11:17 GMT-0400 (EDT)
}
]
}
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
POST /order/id/purchase Append a Purchase to an Order

Add an item to an existent order. This can be pulled from your inventory list or added on-the-fly.

Request:
{
    "quantity":"2",
    "price":"10.00",
    "productVariant": {
        "id": "46331",
        "productId": "214744"
        }
}
HTTP/1.1 201 Created
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
Location: https://api.prioritypaymentsystems.com/checkout/v1.1/order/id/purchase/234
GET /order/id/purchase Get Purchases on an Order

Returns a list of purchases that are currently associated with an order record whether they have been added on-the-fly, or pulled from inventory.

Request:
{
recordCount : 2,
records : [
{    
    "id"11454,
    "productName":"sdafadsf",
    "quantity":1,
    "price":"2",
    "discountAmount":"0",
    "subTotalAmount":"2",
    "taxRate":"0",
    "taxAmount":"0",
    "totalAmount":"22",
    "trackingNumber":0,
    "created":"2013-05-03T11:14:55.6239943-04:00",
    "taxes":[],
    "discounts":[]
},
{   
    "id":1196287,
    "productName":"sdafadsf",
    "quantity":1,
    "price":"22",
    "discountAmount":"0",
    "subTotalAmount":"22",
    "taxRate":"0",
    "taxAmount":"0",
    "totalAmount":"22",
    "trackingNumber":0,
    "created":"2013-05-03T11:14:55.6239943-04:00",
    "taxes":[],
    "discounts":[]
}
]
}
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
GET /order/id/purchase/id Get a Specific Purchase Record on an Order

Retrieve information about a specific purchase record on an order.

Request:
{
    "id":1779,
    "discountType":"Order",
    "discountRateType":"Percent",
    "discountApplicationType":"Automatic",
    "name":"Ipos Test",
    "rate":"0.5",
    "code":"DA42Q759UIW1SAAP",
    "startDate":"2013-05-02T04:00:00Z",
    "endDate":"2013-06-02T04:00:00Z",
    "isExclusive":false,
    "isApprovalRequired":false,
    "tags":[]
}
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
DELETE /order/id/purchase/id Remove a Specific Purchase Record from an Order Record
Response:
HTTP/1.1 204 No-Content
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
POST /order/id/receipt Send a Receipt of an Order Record

Send a receipt of the order. The receipt will be populated by parts of the order object as well as the merchants receipt options.

Query Parameters:

  • contact - Email address or phone number
Response:
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
GET /order/id/receipt Get The URL of a Receipt for an Order

The location response header will return the url where the user can then access the receipt at a later time.

Response:
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8 
Content-Length: 2001

Payment


Popular Uses

  • Simple Payment
  • Authorization
  • Tokenization

The most common use of the API is for payment submission via card; keyed and swiped. Below are examples of the requirements of each payment form.
Choose your preferred entry type:

  • Keyed
  • Swiped
POST https://api.prioritypaymentsystems.com/v1.1/payment

Below are the minimum requirements to submit a keyed payment.

Request:
{
merchantId :2019213,
tenderType :Card,
amount :1000,
cardAccount :{
   number : 4010555544442222,
   expiryMonth : 12,
   expiryyear : 2016
   }
}
POST https://api.prioritypaymentsystems.com/v1.1/payment

Swiped payments require a lesser amount of fields to be sent in with the JSON. Below are the minimum requirements to submit a swiped payment.

Request:
{
merchantId :2019213,
tenderType :Card,
amount :1000,
cardAccount :{
   magstripe : %B5499990123456781^TEST/MPS^1410...
   }
}
Response:
HTTP/1.1 201 Created
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
Location: https://api.prioritypaymentsystems.com/checkout/v1.1/payment/4568

Authorization and recapture is a 2-Step procedure and, can be used for keyed or swiped payments. The below displays the requirements and steps for this process.
Choose your preferred entry type:

  • Keyed
  • Swiped
POST https://api.prioritypaymentsystems.com/v1.1/payment

Create a payment record as an authorization by including the authOnly field in the Payment object.

Request:
{
merchantId :2019213,
tenderType :Card,
amount :1000,
cardAccount :{
    number : 4010555544442222,
    expiryMonth : 12,
    expiryyear : 2016
}
authOnly : true
}
POST https://api.prioritypaymentsystems.com/v1.1/payment

Create a payment record as an authorization by including the authOnly field in the Payment object.

Request:
{
merchantId :2019213,
tenderType :Card,
amount :1000,
cardAccount :{
    magstripe : 4010555544442222
}
authOnly : true
}
Response:
HTTP/1.1 201 Created
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
Location: https://api.prioritypaymentsystems.com/checkout/v1.1/payment/4568

Retrieving the record(or having used echo=true), there are 2 items that will be necessary to complete the transaction.

  • token - Tokenized representation of cardholders card data
  • authCode - Authorization code from initialized payment

To finalize the transaction, submit a call to the payment resource referencing the authCode in the Payment object and token in the embedded cardAccount object. Omitting the authOnly field will default its value to false.

Request:
{
merchantId :2019213,
tenderType :Card,
amount :1000,
cardAccount :{
   token : PtqLTdBI41ascjwbukmvopfX,
   }
authCode : DS789F
}
Response:
HTTP/1.1 201 Created
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
Location: https://api.prioritypaymentsystems.com/checkout/v1.1/payment/4569

Coming Soon!



GET /payment Get Payment Record List

Returns a list a payment resources created, this excludes payments made to an order record.

Query Parameters:

  • limit - quantity of records to be returned after skipping amount set by offset; defaults to 0
  • offset - quantity of record to skip prior to returning amount of records set my limit; defaults to 0
Response:
{
"records":[
{
    "created":"2013-05-23T10:35:03.237Z",
    "id":10000000006655,
    "merchantId":1245412,
    "tenderType":"Card",
    "amount":"0.21",
    "cardAccount":{
        "hash":"OgEpQY2p21xDoNZO02d/I/+i608t/ifv2c3FcFrC4WA=",
        "entryMode":"Keyed",
        "last4":"8604",
        "expiryMonth":"08",
        "expiryYear":"15"
        },
    "authOnly":false,
    "status":"Settled",
    "requireSignature":false,
    "customerMatches":[],
    "settledAmount":"0",
    "settledCurrency":"USD",
    "cardPresent":false
},
{
    "created":"2013-05-22T22:16:31.183Z",
    "id":10000000006605,
    "creatorName":"Demo Gateway",
    "merchantId":1245412,
    "tenderType":"Card",
    "amount":"0.01",
    "tax":"0",
    "tip":"0",
    "cardAccount":{
        "hash":"Nb80jedIgqsstcn9C+jqT9qRCDuhUwDv0rGyhSyb8gE=",
        "entryMode":"Keyed",
        "last4":"8148",
        "token":"PUyn5QjAdZpmIc9KiNzOwl2e",
        "expiryMonth":"07",
        "expiryYear":"20"
    },
    "authOnly":false,
    "authCode":"778861",
    "status":"Settled",
    "requireSignature":false,
    "customerMatches":[],
    "settledAmount":"0",
    "settledCurrency":"USD",
    "cardPresent":false
}
],
"recordCount": 2
}
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
GET /payment/id Get a Payment Record

Retrieve information about a specific payment record.

Response:
{
    "created":"2013-05-23T10:35:03.237Z",
    "id":10000000006655,
    "merchantId":1245412,
    "tenderType":"Card",
    "amount":"0.21",
    "cardAccount":{
        "hash":"OgEpQY2p21xDoNZO02d/I/+i608t/ifv2c3FcFrC4WA=",
        "entryMode":"Keyed",
        "last4":"8604",
        "expiryMonth":"08",
        "expiryYear":"15"
    },
    "authOnly":false,
    "status":"Settled",
    "requireSignature":false,
    "customerMatches":[],
    "settledAmount":"0",
    "settledCurrency":"USD",
    "cardPresent":false
}
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
POST /payment Create a Payment

Create a payment record. Currently, this can be passed as a Card or Cash transaction. If card data is seen more than once, and has not been created as a card account for a customer, a customer record will be created to track usage history of the card.

Request:
{
merchantId :2019213,
tenderType :Card,
amount :1000,
cardAccount :{
   number : 4010555544442222,
   expiryMonth : 12,
   expiryyear : 2016,
   cvv : 842,
   avsZip : 40003
   }
}
Response:
HTTP/1.1 201 Created
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
Location: https://api.prioritypaymentsystems.com/checkout/v1.1/payment/4568
DELETE /payment/id Delete(Void) a Payment Record

If the payment status on a payment record does not show as 'Settled' you can void the payment. Otherwise a refund is necessary. Accomplish this by submitting a POST to the same resource with a negative amount.

Response:
HTTP/1.1 204 No-Content
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
GET /payment/id/signature Get Contents of Payment Signature

Retrieve the contents of a previously uploaded signature to a payment record. Reconstruction of the image data must be completed client side.

Response:
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
POST /payment/id/signature Upload Signature to Payment

Go Green! Instead of storing paper copies for each transaction, easily store uploaded images of customer signatures with their payments. Take advantage of our receipt sending options if they require, want or expect a copy.

Response:
HTTP/1.1 201 Created 
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
Location: https://api.prioritypaymentsystems.com/checkout/v1.1/payment/4080/signature
POST /payment/id/receipt Send Receipt of Payment

Send a receipt of a payment via email or SMS.

Query Parameters:

  • contact - Email address or phone number
Response:
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
GET /payment/id/receipt Get URL of Payment Receipt

Get the URL of a generated payment receipt for future use.

Response:
HTTP/1.1 200
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
Location: https://api.prioritypaymentsystems.com/checkout/v1.1/payment/123
POST /payment/id/contact Create Contact on Payment Record

Payments can have contact information appended to them during or after the transaction has been completed. This can be used the circumstance that the payer is not necessarily the one receiving the service.

Response:
{
    name : John Smith,
    phone : 5551238888,
    email : example@example.com,
    address :{
         address1 : 123 Smith St,
         city : Atlanta ,
         state : GA,
         zip : 30303
        }    
}
HTTP/1.1 201 Created
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
Location: https://api.prioritypaymentsystems.com/checkout/v1.1/payment/123

PCI


GET /pci Get PCI requirements based on merchant level

Returns the current PCI status report for a merchant

Request:
{
"recordCount":1,
"records": [
{
    "id":1,
    "paymentBrandId":5,
    "internetMerchant":false,
    "level":1,
    "annualCountLow":6000001,
    "annualCountHigh":999999999999,
    "priorBreach":true,
    "brandDiscretion":true,
    "brandParity":true,
    "onsiteReview":"Annual",
    "saq":"Not Required",
    "netScan":"Quarterly",
    "complianceValidation":"2005-06-30T00:00:00"
},
{
    "id":2,
    "paymentBrandId":5,
    "internetMerchant":false,
    "level":2,
    "annualCountLow":1000000,
    "annualCountHigh":6000000,
    "priorBreach":false,
    "brandDiscretion":false,
    "brandParity":true,
    "onsiteReview":"Not Required",
    "saq":"Annual",
    "netScan":"Quarterly",
    "complianceValidation":"2008-12-31T00:00:00"
}
]
}
Response:
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8 
Content-Length: 2001

Plan


POST /plan Create Plan

Query Parameters:

  • merchantId - The merchant Id number
Request:
{
   "merchantId"2345,
    "name":"testPlan",
    "interval":"Monthly",
    "frequency":2,
    "weekDay":"Monday",
    "month":"January",
    "dayNumber":1,
    "dayType":"First",
    "day":"Monday",
    "purchases":[
    {
        "productName":"Ibanez s5ex1",
        "description":"Guitar",
        "brand":"Ibanez",
        "style":"S",
        "quantity":1,
        "price":"0.01",
        "discountAmount":"0",
        "taxAmount":"0.03",
        "trackingNumber":0,
        "taxes":[
            {
            "name":"24-fret Tax",
            "description":"Tax for guitars with 24- frets and up",
            "rate":"1",
            "taxCategories":[]
            },
            {
            "name":"testGuitarTax2",
            "description":"test",
            "rate":"1",
            "taxCategories":[]
            },
            {
            "name":"testGuitarTax3",
            "description":"test",
            "rate":"1",
            "taxCategories":[]
            }
        ],
        "discounts":[]
        }
    ],
    "discounts":[],
    "totalAmount":"0.04",
    "taxAmount":"0.03",
    "subTotalAmount":"0.01",
    "discountAmount":"0",
    "subscriptionCount":0
}
Response:
HTTP/1.1 201 Created
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
Location: https://api.prioritypaymentsystems.com/checkout/v1.1/plan/4080
GET /plan/id Get a Plan Record
Request:
{
   "id":9139,
    "merchantId"32432,
    "name":"testPlan",
    "interval":"Monthly",
    "frequency":2,
    "weekDay":"Monday",
    "month":"January",
    "dayNumber":1,
    "dayType":"First",
    "day":"Monday",
    "purchases":[
    {
        "id":9553,
        "productName":"Ibanez s5ex1",
        "description":"Guitar",
        "quantity":1,
        "price":"0.01",
        "discountAmount":"0",
        "taxAmount":"0",
        "trackingNumber":0,
        "taxes":[],
        "discounts":[]
    }
    ],
    "discounts":[],
    "totalAmount":"0.01",
    "taxAmount":"0",
    "subTotalAmount":"0.01",
    "discountAmount":"0",
    "subscriptionCount":0
}
Response:
HTTP/1.1 200 OK 
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
GET /plan Get List of Available Plans

Query Parameters:

  • merchantId - The merchant Id number
  • limit - quantity of records to be returned after skipping amount set by offset; defaults to 0
  • offset - quantity of record to skip prior to returning amount of records set my limit; defaults to 0
Response:
{
recordCount : 2,
records : [
{
   "id":9139,
    "merchantId"32432,
    "name":"testPlan",
    "interval":"Monthly",
    "frequency":2,
    "weekDay":"Monday",
    "month":"January",
    "dayNumber":1,
    "dayType":"First",
    "day":"Monday",
    "purchases":[
    {
        "id":9553,
        "productName":"Ibanez s5ex1",
        "description":"Guitar",
        "quantity":1,
        "price":"0.01",
        "discountAmount":"0",
        "taxAmount":"0",
        "trackingNumber":0,
        "taxes":[],
        "discounts":[]
    }
    ],
    "discounts":[],
    "totalAmount":"0.01",
    "taxAmount":"0",
    "subTotalAmount":"0.01",
    "discountAmount":"0",
    "subscriptionCount":0
},
{
   "id":9139,
    "merchantId"32432,
    "name":"testPlan",
    "interval":"Monthly",
    "frequency":2,
    "weekDay":"Monday",
    "month":"January",
    "dayNumber":1,
    "dayType":"First",
    "day":"Monday",
    "purchases":[
    {
        "id":9553,
        "productName":"Ibanez s5ex1",
        "description":"Guitar",
        "quantity":1,
        "price":"0.01",
        "discountAmount":"0",
        "taxAmount":"0",
        "trackingNumber":0,
        "taxes":[],
        "discounts":[]
    }
    ],
    "discounts":[],
    "totalAmount":"0.01",
    "taxAmount":"0",
    "subTotalAmount":"0.01",
    "discountAmount":"0",
    "subscriptionCount":0
}
]
}
HTTP/1.1 200 OK
Content-Length: 2001
PUT /plan Update/Modify a Plan
Request:
{
   "merchantId"2345,
    "name":"testPlan",
    "interval":"Monthly",
    "frequency":2,
    "weekDay":"Monday",
    "month":"January",
    "dayNumber":1,
    "dayType":"First",
    "day":"Monday",
    "purchases":[
    {
        "productName":"Ibanez s5ex1",
        "description":"Guitar",
        "brand":"Ibanez",
        "style":"S",
        "quantity":1,
        "price":"0.01",
        "discountAmount":"0",
        "taxAmount":"0.03",
        "trackingNumber":0,
        "taxes":[
        {
            "name":"24-fret Tax",
            "description":"Tax for guitars with 24- frets and up",
            "rate":"1",
            "taxCategories":[]
        },
        {
            "name":"testGuitarTax2",
            "description":"test",
            "rate":"1",
            "taxCategories":[]
        },
        {
            "name":"testGuitarTax3",
            "description":"test",
            "rate":"1",
            "taxCategories":[]
        }
        ],
        "discounts":[]
    }
    ],
    "discounts":[],
    "totalAmount":"0.04",
    "taxAmount":"0.03",
    "subTotalAmount":"0.01",
    "discountAmount":"0",
    "subscriptionCount":0
}
Response:
HTTP/1.1 200
Content-Type: application/octet-stream; charset=utf-8 
Content-Length: 2001
DELETE /plan/id Delete Plan
Response:
HTTP/1.1 204 No-Content
Content-Type: application/octet-stream; charset=utf-8 
Content-Length: 2001
GET /plan/id/subscription Get List of Customer Subscribed to Plan
Response:
{
recordCount : 2,
records : [
{
    "id":8944,
    "startDate":"2013-05-31T00:00:00",
    "invoiceMethod":"Click2Pay",
    "allowPartialPayment":false,
    "status":"Inactive",
    "remindBeforeDueDate":1,
    "reminderContact":"example@example.com",
    "receiptContact":"example@example.com",
    "created":"2013-05-06T17>:33:11.783",
    "modified":"2013-05-06T17:34:08.083",
    "customerId":466400
},
{
    "id":8944,
    "startDate":"2013-05-31T00:00:00",
    "invoiceMethod":"Click2Pay",
    "allowPartialPayment":false,
    "status":"Inactive",
    "remindBeforeDueDate":1,
    "reminderContact":"example@example.com",
    "receiptContact":"example@example.com",
    "created":"2013-05-06T17>:33:11.783",
    "modified":"2013-05-06T17:34:08.083",
    "customerId":466400
}
]
}
HTTP/1.1 200
Content-Type: application/octet-stream; charset=utf-8 
Content-Length: 2001
POST /plan/id/subscription Subscribe Customer To a Plan
Request:
{
    "startDate":"06/19/2013",
    "cardAccountId":10000000047648,
    "customerId":10000000122012
}
Response:
HTTP/1.1 201 Created
Content-Type: application/octet-stream; charset=utf-8 
Content-Length: 2001
Location: https://api.prioritypaymentsystems.com/checkout/v1.1/plan/4080/subscription/4
DELETE /plan/id/subscription/id Remove Customer subscription to plan
Response:
HTTP/1.1 204 No-Content
Content-Type: application/octet-stream; charset=utf-8 
Content-Length: 2001

Product


POST /product Create Product
Request:
{
    productName : Shoe,
    manufacturer : ShoeCo.,        
    description : "Now available for both feet"        
}
Response:
HTTP/1.1 201 Created 
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
Location: https://api.prioritypaymentsystems.com/checkout/v1.1/product/2444
GET /product/id Get a Product Record
Request:
{
    "id":259431,
    "setId":323,
    "number":1988,
    "productName":"Hg80 Knee Support (X-Large)",
    "description":"Hg80 Knee Support (X-Large)",
    "style":"59914",
    "modified":"2013-04-09T15:03:22.853Z",
    "displayImage":"",
    "vendor":"MUEL",
    "primaryClass":"PROT",
    "subClass":"KNEE",
    "tags":[],
    "productVariants":[],
    "variantProperties":"Color, Size, Gender, Flavor, Collection",
    "priceHistory":[],
    "department":"MAM",
    "inStock":true
}
Response:
HTTP/1.1 200 OK 
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
GET /product Get List of Available Products

Query Parameters:

  • merchantId - The merchant Id number
  • includePhotos -true | false
  • includeVariants - true | false
  • limit - quantity of records to be returned after
  • limit - quantity of records to be returned after skipping amount set by offset; defaults to 0
  • offset - quantity of record to skip prior to returning amount of records set my limit; defaults to 0
Response:
{
recordCount : 2,
records : [
{
    "id":259431,
    "setId":323,
    "number":1988,
    "productName":"Hg80 Knee Support (X-Large)",
    "description":"Hg80 Knee Support (X-Large)",
    "style":"59914",
    "modified":"2013-04-09T15:03:22.853Z",
    "displayImage":"",
    "vendor":"MUEL",
    "primaryClass":"PROT",
    "subClass":"KNEE",
    "tags":[],
    "productVariants":[],
    "variantProperties":"Color, Size, Gender, Flavor, Collection",
    "priceHistory":[],
    "department":"MAM",
    "inStock":true
},
{
    "id":259431,
    "setId":323,
    "number":1988,
    "productName":"Hg80 Knee Support (X-Large)",
    "description":"Hg80 Knee Support (X-Large)",
    "style":"59914",
    "modified":"2013-04-09T15:03:22.853Z",
    "displayImage":"",
    "vendor":"MUEL",
    "primaryClass":"PROT",
    "subClass":"KNEE",
    "tags":[],
    "productVariants":[],
    "variantProperties":"Color, Size, Gender, Flavor, Collection",
    "priceHistory":[],
    "department":"MAM",
    "inStock":true
}
]
}
HTTP/1.1 200 OK
Content-Length: 2001
PUT /product Update/Modify a Product
Request:
{
    productName : Shoe,
    manufacturer : GenericShoeDistributorsInc.,        
    description : "New Sole, Same Great Shape"  
}
Response:
HTTP/1.1 200
Content-Type: application/octet-stream; charset=utf-8 
Content-Length: 2001
DELETE /product/id Delete Product from Inventory
Response:
HTTP/1.1 204 No-Content
Content-Type: application/octet-stream; charset=utf-8 
Content-Length: 2001
GET /product/id/variant Get List of Variants for a Product
Request:
{
recordCount : 2,
records : [
{
    "id":186110,
    "productId":290050,
    "dateCreated":"2013-04-25T13:57:55.307Z",
    "variantName":"Shoes",
    "price":"89.99",
    "cost":"49.5",
    "primaryId":"4001060000001",
    "tags":[
    "brand:",
    "Class Name:Racing - Unisex",
    "Color Name:Blue",
    "color:blue",
    "Department Name:Footwear",
    "manufacturer:","OH:0",
    "productnumber:",
    "SecondaryID:","size:7",
    "SizeCde:FMN","sold:",
    "SubClass Name:",
    "Subsize:",
    "TaxCategorgy:",
    "Vendor Name:New Balance",
    "VenType:DF"],
    "inStock":true,
    "inventoryThreshold":0,
    "quantity":130
},
{
    "id":186110,
    "productId":290050,
    "dateCreated":"2013-04-25T13:57:55.307Z",
    "variantName":"Shoes",
    "price":"89.99",
    "cost":"49.5",
    "primaryId":"4001060000001",
    "tags":[
    "brand:",
    "Class Name:Racing - Unisex",
    "Color Name:Blue",
    "color:blue",
    "Department Name:Footwear",
    "manufacturer:","OH:0",
    "productnumber:",
    "SecondaryID:","size:7",
    "SizeCde:FMN","sold:",
    "SubClass Name:",
    "Subsize:",
    "TaxCategorgy:",
    "Vendor Name:New Balance",
    "VenType:DF"],
    "inStock":true,
    "inventoryThreshold":0,
    "quantity":130
}
]
}
Response:
HTTP/1.1 200
Content-Type: application/octet-stream; charset=utf-8 
Content-Length: 2001
GET /product/id/variant/id Get a Specific Variant of a Product
Request:
{
    "id":186110,
    "productId":290050,
    "dateCreated":"2013-04-25T13:57:55.307Z",
    "variantName":"Shoes",
    "price":"89.99",
    "cost":"49.5",
    "primaryId":"4001060000001",
    "tags":[
    "brand:",
    "Class Name:Racing - Unisex",
    "Color Name:Blue",
    "color:blue",
    "Department Name:Footwear",
    "manufacturer:","OH:0",
    "productnumber:",
    "SecondaryID:","size:7",
    "SizeCde:FMN","sold:",
    "SubClass Name:",
    "Subsize:",
    "TaxCategorgy:",
    "Vendor Name:New Balance",
    "VenType:DF"],
    "inStock":true,
    "inventoryThreshold":0,
    "quantity":130
}
Response:
HTTP/1.1 200
Content-Type: application/octet-stream; charset=utf-8 
Content-Length: 2001
POST /product/id/variant Add a Variant to A Product
Request:
{
    variantName: variantOne,
    condition: new,
    tags: [black,orange,small],
    inStock: true
}
Response:
HTTP/1.1 201 Created
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
Location: https://api.prioritypaymentsystems.com/checkout/v1.1/product/2444/variant/223
PUT /product/id/variant/id Update a Variant to A Product
Request:
{
    variantName: variantOne,
    condition: new,
    tags: [black,orange,small],
    inStock: true
}
Response:
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
DELETE /product/id/variant/id Delete a Variant to A Product
Response:
HTTP/1.1 204 No-Content OK
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
GET /product/id/location Get a products location

Retrieve the information associated with a products location.

Response:
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
POST /product/id/tag Add a tag to a product

Add a tag to a product. This can provide an easy way to search or suggest an item for a customer, or to apply a discount.

Request:
[tag1]
Response:
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
GET /product/id/tag Get tags associated with a product

Retrieve the information associated with a products location.

Response:
[tag1,tag2,tag3]
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
DELETE /product/id/tag Remove product tag

Retrieve the information associated with a products location.

Response:
[tag1,tag2,tag3]
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
GET /product/id/discount Get discounts associated with a product

Retrieve all of the order-level discounts associated with an inventory item.

Response:
[
{
    "id":729,
    "discountType":"Order",
    "discountRateType":"Percent",
    "discountApplicationType":"Manual",
    "name":"1378740313",
    "rate":"0.1",
    "startDate":"2013-09-10T03:29:58.913Z",
    "endDate":"2013-09-10T03:29:58.913Z",
    "isExclusive":false,
    "isApprovalRequired":false,
    "tags":[]
}
]
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
DELETE /product/id/discount/id Delete an associated discount from a product

Remove a discount from association with an item from a merchants inventory.

Response:
HTTP/1.1 204 No-Content
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
GET /product/id/image Gets the image of a product

Retreive the image from a speciic inventory record

Response:

The image data will require to client-side reconstruction.

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
GET /product/id/tax Gets all taxes related to a product

Retreives all taxes within each tax category an inventory item is associated with.

Response:
[
{
    "id":10000000000092,
    "name":"Fulton",
    "description":"Fulton",
    "rate":"0.07",
    "created":"2013-07-12T14:42:46.433Z",
    "modified":"2013-07-29T12:40:29.637Z",
    "taxCategories":[
    {
        "id":10000000000055,
        "name":"TCY25ZU5",
        "code":"TY25ZU5",
        "description":"Fulton (0.070000000)",
        "created":"2013-07-12T18:08:02.437Z",
        "modified":"2013-07-29T12:40:51.097Z"
    },
    {
        "id":10000000000051,
        "name":"Mobile Phone",
        "code":"MP",
        "created":"2013-07-12T15:03:09.587Z",
        "modified":"2013-07-12T15:03:09.587Z"
    }
}
]
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
POST /product/tracking Product Tracking enable/disable

Query Parameters:

  • enabled - true/false to enable/disable product tracking
Response:
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
POST /product/id/location Create a location for a product
Request:
{
    "name":1378756576,
    "addressString":"123 Smith,
     NotLanta,
     30303 ",
    "merchantId":null,
    "address":{
        "address1":"123 Smith",
        "city":"NotLanta",
        "state":"GA",
        "zip":"30303"
    }
}
Response:
HTTP/1.1 201 Created
Content-Type: application/json; charset=utf-8 
Content-Length: 2001

Receipt Option


GET /receiptoption Get Current Receipt Option Settings

Query Parameters:

  • merchantId - The merchant Id number
Request:
{
    "merchantId":-195426,
    "imageDataURLValue":"",
    "locationName":"Test Merchant 195426",
    "locationPhone":"5551195426",
    "address":{
        "address1":"196426 Test ST",
        "city":"Testville",
        "state":"GA",
        "zip":"30005"
    }
}
Response:
HTTP/1.1 200 OK
Content-Type: application/octet-stream; charset=utf-8 
Content-Length: 2001
POST /receiptoption Change Receipt Options
Request:
{
    "merchantId":-195426,
    "locationTitle":"Home",
    "locationName":"Cakes And More Items",
    "storeEmail":"cake@cakemaker.com",
    "locationPhone":"5551195426",
    "address":{
        "address1":"196426 Test ST",
        "address2":"Ste. 455",
        "city":"Testville",
        "state":"GA",
        "zip":"30005"
    },
    "receiptMessage":"Enjoy Our Cakes!",
    "imageDataURLValue":""
}
Response:
HTTP/1.1 200 OK
Content-Type: application/octet-stream; charset=utf-8 
Content-Length: 2001

Subscription


GET /subscription Subscribe to be notified upon a specified event triggering

Query Parameters:

  • eventType - Available values
    • Chargeback
    • Deposit
    • MerchantApproved
    • MerchantClosed
    • TinValidation
    • MerchantDenied
    • ReturnCompleted
    • ChargebackResolution
    • SAQComplete
    • QuestionableMerchantActivity
  • limit - quantity of records to be returned after skipping amount set by offset; defaults to 0
  • offset - quantity of record to skip prior to returning amount of records set my limit; defaults to 0
Response:
{
    "records":[
    {
        "id":1,
        "eventType":"Chargeback",
        "created":"2013-05-01T00:00:00Z",
        "modified":"2013-05-01T00:00:00Z"
    }
    ],
    "recordCount":1
}                                         
HTTP/1.1 200 OK
Content-Type: application/octet-stream; charset=utf-8 
Content-Length: 2001
GET /subscription/id Return a specific event subscription
Response:
{
    "records":[
    {
        "id":1,
        "eventType":"Chargeback",
        "created":"2013-05-01T00:00:00Z",
        "modified":"2013-05-01T00:00:00Z"
    }
    ],
    "recordCount":1
}
HTTP/1.1 200 OK
Content-Type: application/octet-stream; charset=utf-8 
Content-Length: 2001
POST /subscription Retrieve a specific subscription record

Query Parameters:

  • eventType - Available values
    • Chargeback
    • Deposit
    • MerchantApproved
    • MerchantClosed
    • TinValidation
    • MerchantDenied
    • ReturnCompleted
    • ChargebackResolution
    • SAQComplete
    • QuestionableMerchantActivity
  • merchantId - Merchant identification number
  • callbackUrl - The URL where the event message is sent when an event fires
Request:

Response:
HTTP/1.1 201 Created
Content-Type: application/octet-stream; charset=utf-8 
Content-Length: 2001
DELETE /subscription/id Remove the subscription from a merchant event.

Query Parameters:

  • eventType - Available values
    • Chargeback
    • Deposit
    • MerchantApproved
    • MerchantClosed
    • TinValidation
    • MerchantDenied
    • ReturnCompleted
    • ChargebackResolution
    • SAQComplete
    • QuestionableMerchantActivity
  • merchantId - Merchant identification number
  • callbackUrl - The URL where the event message is sent when an event fires
Response:
HTTP/1.1 204 No Content
Content-Type: application/octet-stream; charset=utf-8 
Content-Length: 2001

Tag


GET /tag Get Tags

Query Parameters:

  • merchantId - The merchant Id number
Response:
[
    "765gg",
    "blink",
    "candy",
    "size:8",
    "socks",
    "color:red",
    "food",
    "germs",
    "",
    "afghan",
    "angela",
    "mix",
    "mouse",
    "spice",
    "nike",
    "sugar free",
    "golf",
    "imag",
    "tags",
    "test"
]
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8 
Content-Length: 2001

Tax


GET /Tax Get Tax List

Query Parameters:

  • merchantId - The merchant Id number
  • limit - quantity of records to be returned after skipping amount set by offset; defaults to 0
  • offset - quantity of record to skip prior to returning amount of records set my limit; defaults to 0
Response:
{
"records":[
{
    "id":966,
    "name":"texas",
    "description":"",
    "rate":"0.0825",
    "created":"2013-03-31T03:33:01.293Z",
    "modified":"2013-03-31T03:33:01.293Z",
    "taxCategories":[
    {
        "id":512,
        "name":"TC8ZF3D5",
        "code":"T8ZF3D5",
        "description":"texas (0.082500000)",
        "created":"2013-05-07T20:29:56.79Z",
        "modified":"2013-05-07T20:29:56.79Z"
    },
    {
        "id":513,
        "name":"TCKPLBXK",
        "code":"TKPLBXK",
        "description":"texas (0.082500000)",
        "created":"2013-05-07T18:36:32.167Z",
        "modified":"2013-05-07T18:36:32.167Z"
    }
    ]
},
{
    "id":970,
    "name":"24-fret Tax",
    "description":"Tax for guitars with 24- frets and up",
    "rate":"1",
    "created":"2013-04-01T12:45:48.267Z",
    "modified":"2013-04-01T12:45:48.267Z",
    "taxCategories":[]
}
],
"recordCount":9
}
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
POST /Tax Create Tax

Query Parameters:

  • merchantId - The merchant Id number
Request:
{
    "name":"superTestTax",
    "description":"TEST",
    "rate":".01",
}
Response:
HTTP/1.1 201 Created
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
Location: https://api.prioritypaymentsystems.com/checkout/v1.1/tax/688
PUT /Tax/id Update Tax
Request:
{
    "name":"superTestTax",
    "description":"TEST",
    "rate":".01",
}
Response:
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
DELETE /Tax/id Delete Tax
Response:
HTTP/1.1 204 No-Content
Content-Type: application/json; charset=utf-8 
Content-Length: 2001

Tax Category


GET /taxcategory Get TaxCategories

Query Parameters:

  • merchantId - The merchant Id number
  • includeDeleted - Though deleted, if an order is still referencing this a tax on a product, setting this to true will return the tax record
  • limit - quantity of records to be returned after skipping amount set by offset; defaults to 0
  • offset - quantity of record to skip prior to returning amount of records set my limit; defaults to 0
Response:
{
recordCount : 2,
records : [
[
{
    "id":513,
    "name":"TCKPLBXK",
    "code":"TKPLBXK",
    "description":"texas (0.082500000)",
    "created":"2013-05-07T18:36:32.167Z",
    "modified":"2013-05-07T18:36:32.167Z"
    },
    {
    "id":512,
    "name":"TC8ZF3D5",
    "code":"T8ZF3D5",
    "description":"texas (0.082500000)",
    "created":"2013-05-07T20:29:56.79Z",
    "modified":"2013-05-07T20:29:56.79Z"
} 
]
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
POST /taxcategory Create Tax Category

Query Parameters:

  • merchantId - The merchant Id number
Request:
{
    "name":"testCategory",
    "description":"TEST",
    "code":"14817qiofao",
    "isNew":true
}
Response:
HTTP/1.1 201 Created
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
Location: https://api.prioritypaymentsystems.com/checkout/v1.1/taxcategory/688
PUT /Tax/id Update Tax
Request:
{
    "name":"testedCategory",
    "description":"TEST",
    "code":"aaa123",
    "isNew"false
}
Response:
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
DELETE /taxcategory/id Remove Tax Category
Response:
HTTP/1.1 204 No-Content
Content-Type: application/json; charset=utf-8 
Content-Length: 2001

Time Profile


GET /timeprofile Get Time Profile List

Query Parameters:

  • merchantId - The merchant Id number
Response:
{
recordCount : 2,
records : [
{
    "id":1705,
    "merchantId"53532,
    "dba":"PPS Engineering - Demo",
    "discountType":"Order",
    "discountRateType":"Percent",
    "discountApplicationType":"Coupon",
    "name":"10 order exclusive coupon",
    "rate":"0.1",
    "code":"10",
    "startDate":"2013-04-18T04:00:00Z",
    "endDate":"2013-05-18T04:00:00Z",
    "isExclusive":true,
    "isApprovalRequired":false,
    "created":"2013-04-18T18:00:40.443Z",
    "modified":"2013-04-25T14:35:39.513Z",
    "tags":[]
}
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
POST /timeprofile Create Time Profile
Request:
{
    "name":"testProfile",
    "merchantId":1245412,
    "daysOfWeek":127,
    "timeZone":"GMT-05:00",
    "startTimeMinuteOffset":0,
    "endTimeMinuteOffset":1439
}
Response:
HTTP/1.1 201 Created
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
Location: https://api.prioritypaymentsystems.com/checkout/v1.1/timeprofile/688
PUT /timeprofile/id Update a Time Profile
Request:
{
    "name":"testProfile",
    "merchantId":1245412,
    "daysOfWeek":127,
    "id":98723,
    "timeZone":"GMT-05:00",
    "startTimeMinuteOffset":0,
    "endTimeMinuteOffset":1439
}
Response:
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8 
Content-Length: 2001
DELETE /timeprofile/id Delete a Time Profile
Response:
HTTP/1.1 204 No-Content
Content-Type: application/json; charset=utf-8 
Content-Length: 2001