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.