login

Because payments are a priority

The Priority Payment Systems API is organized around REST. It’s designed to have predictable, resource-oriented URLs, to use HTTP response codes to indicate API errors, and to use built-in HTTP features, like HTTP authentication and HTTP verbs, which can be understood by off-the-shelf HTTP clients. JSON will be returned in all responses from the API, including errors.

  • Full-Stack Payments

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam tortor odio, pretium non varius a, porttitor sit amet ligula. Ut eu tellus non felis lacinia congue. Integer malesuada laoreet elit in adipiscing. Nullam diam nunc, congue sed tempus vel, eleifend non lacus posuere.

  • An API That Gets Out of the Way

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam tortor odio, pretium non varius a, porttitor sit amet ligula. Ut eu tellus non felis lacinia congue. Integer malesuada laoreet elit in adipiscing. Nullam diam nunc, congue sed tempus vel, eleifend non lacus posuere.

  • Pricing Like It Should Be

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam tortor odio, pretium non varius a, porttitor sit amet ligula. Ut eu tellus non felis lacinia congue. Integer malesuada laoreet elit in adipiscing. Nullam diam nunc, congue sed tempus vel, eleifend non lacus posuere.

Authorization

Overview

Authorization is handled via OAuth 1A standards. The authorization process consists of 2 requests. First you must get a request token and then an access token. The access token can be used for all subsequent calls to the services.

Get Request Token

Request


POST https://api.pps.io/v1/OAuth/1A/RequestToken HTTP/1.1
Authorization: OAuth oauth_consumer_key="00000000-0000-0000-0000-000000000000",
                        oauth_nonce="0YhM7uEp",
                        oauth_signature_method="HMAC-SHA1",
                        oauth_signature="N3245RcYzkY01yQsgB1fqIlF4cY%3D",
                        oauth_version="1.0",
                        oauth_timestamp="1344019030"
Accept: application/x-www-form-urlencoded

Response


HTTP/1.1 200 OK
Content-Type: application/x-www-form-urlencoded
                
oauth_token=660b21b4-d3ee-4ce1-84f5-a3ec8c52ea42&oauth_token_secret=dea7c4de-f346-403f-962c-181ae8338800
                

Get Access Token

Request


POST https://api.pps.io/v1/OAuth/1A/AccessToken HTTP/1.1
Authorization: OAuth oauth_token="4499eddf-2633-415a-b221-90cbf7823dce",
                        oauth_consumer_key="00000000-0000-0000-0000-000000000000",
                        oauth_nonce="vYXqb3Jq",
                        oauth_signature_method="HMAC-SHA1",
                        oauth_signature="%2FUeW4NTL4NV88XOYPAKr3ANGn7A%3D",
                        oauth_version="1.0",
                        oauth_timestamp="1344019030"
Accept: application/x-www-form-urlencoded
                

Response


HTTP/1.1 200 OK
Content-Type: application/x-www-form-urlencoded
                
oauth_token=d7874463-b31b-4851-be5f-bcea985f895d&oauth_token_secret=19142a9a-f2fb-4c72-8238-80b63645aba5
                

Api Request Auth

Every request that is sent to the API will be accompanied with the proper auth. This will consist of several parameters added to the querystring.

oauth_token
the previously acquired token
oauth_consumer_key
this is the public key for the consumer account being used for the request
oauth_nonce
a unique string that can only be used once per request
oauth_signature_method
this should be set to: HMAC-SHA1
oauth_signature
the signature is a hash of the entire request and consumer secret
oauth_version
this should be set to: 1.0
oauth_timestamp
the unix timestamp defining when the request was sent

Transactions

Transactions are the overall container for most of the other objects.

Routes Overview


GET     /transaction                // get all transactions
POST    /transaction                // create new transaction
GET     /transaction/:id            // get transaction by id
PUT     /transaction/:id            // update transaction by id
DELETE  /transaction/:id            // void a transaction
              

Properties

Complete list of available properties when getting a transaction:


(String)  id
(Object)  customer
(Array)   purchases
(Array)   coupons
(Array)   payments
(Object)  plan
(Number)  subTotalAmount
(Number)  taxAmount
(Number)  shipAmount
(Number)  totalAmount
(Number)  tipAmount
(String)  currency
(Number)  balance
(String)  referenceNumber
(Object)  metaData
              

Find


GET /transaction
GET /transaction?referenceNumber=1244567
GET /transaction?offset=50&limit=25
                 

Get a list of transactions, with optional filter and paging parameters.

Get

GET /transaction/:id

Find a transaction using its id.

Create

POST /transaction

Create a new transaction with given parameters.

Parameters


(String)  id
(Object)  customer
(Array)   purchases
(Array)   coupons
(Array)   payments
(Object)  plan
(Number)  subTotalAmount
(Number)  taxAmount
(Number)  shipAmount
(Number)  totalAmount
(Number)  tipAmount
(String)  currency
(Number)  balance
(String)  referenceNumber
(Object)  metaData
                

Update

PUT /transaction/:id

Update a transaction using its id.

Void

DELETE /transactions/:id

Voids a previously authorized transaction. A transaction cannot be voided if it has already been settled.

Purchases

Purchases are items that are purchased as part of a transaction.

Routes Overview


GET     /purchase                // get all purchases
POST    /purchase                // create new purchase
GET     /purchase/:id            // get purchase by id
PUT     /purchase/:id            // update purchase by id
DELETE  /purchase/:id            // delete a purchase
              

Properties

Complete list of available properties when getting a purchase:


(String)  id
(String)  name
(Number)  price
(String)  currency
(Boolean) shipped
(String)  trackingNumber
(Array)   coupons
(Array)   taxes
              

Find


GET /purchase
GET /purchase?name=Red%20Ball
GET /purchase?offset=50&limit=25

Get a list of purchases, with optional filter and paging parameters.

Get

GET /purchase/:id

Find a purchase using its id.

Create

POST /purchase

Create a new puchase with given parameters.

Parameters


(String)  id
(String)  name
(Number)  price
(String)  currency
(Boolean) shipped
(String)  trackingNumber
(Array)   coupons
(Array)   taxes
                

Update

PUT /purchase/:id

Update a purchase using its id.

Delete

PUT /purchase/:id

Delete a purchase using its id.