Payments

Endpoints for creating payments

Create a payment

Creates a payment

Securityapi_key or azure_auth
Request
path Parameters
SiteSlug
required
string <slug> (Slug) ^[osl][a-zA-Z0-9]{3,}$

The Slipstream slug that uniquely identifies a physical practice

Example: s8n6EzC
Request Body schema: application/json
required

The details of the payment to create

PaymentProvider
required
string (PaymentProvider)

Available payment providers

Value Description
Stripe

Stripe

Currency
required
string <ISO-4217> (Currency)

The ISO-4217 currency code used by the practice.

CustomerId
string

A unique identifier for the customer

Reference
string

The PMS reference for the payment

StatementDescriptor
string <= 22 characters

A description for the payment that will appear on the customer's statement

FeeAmount
integer <int64>

The fee amount (if any) that will be applied to the payment. The amount collected will be capped at the total payment amount.

Array of objects (PaymentLineItem)

The history of state changes the payment has gone through

UiMode
string (PaymentUiMode)

Available client payment modes

Enum Value Description
Hosted

Redirect the customer to a hosted page to take the payment

Embedded

Take the payment using embedded components

SuccessUrl
string <uri>

The URL to redirect the customer to after a successful payment (in hosted UI mode)

CancelUrl
string <uri>

If set, Stripe checkout displays a back button where customers will be sent if they cancel the payment

Responses
200

The details of the created payment

400

Malformed Request (ProblemDetails)

401

Unauthorized - Provide proof of identity (ProblemDetails)

403

Forbidden - Insufficient permissions (ProblemDetails)

404

Not Found - Could not find a matching entity (ProblemDetails)

422

Unprocessable - Request was well formed but could not be actioned (ProblemDetails)

429

Too many requests - Chill out (ProblemDetails)

4XX

User Error (ProblemDetails)

5XX

Server Error (ProblemDetails)

post/sites/{SiteSlug}/payments
Request samples
application/json
{}
Response samples
application/json
{
  • "PaymentProvider": "Stripe",
  • "RecordId": "123e4567-e89b-12d3-a456-426614174000",
  • "PaymentId": "pi_3MtwBwLkdIwHu7ix28a3tqPa",
  • "Reference": "INV-1234",
  • "Amount": 1000,
  • "Currency": "USD",
  • "CustomerId": "string",
  • "StatementDescriptor": "string",
  • "FeeAmount": 100,
  • "TipAmount": 100,
  • "History": [
    ]
}

Create account with payment provider

Creates an account for the site with the specified payment provider

Securityapi_key or azure_auth
Request
path Parameters
SiteSlug
required
string <slug> (Slug) ^[osl][a-zA-Z0-9]{3,}$

The Slipstream slug that uniquely identifies a physical practice

Example: s8n6EzC
Request Body schema: application/json
required

The details of the payment to create

paymentProvider
string (PaymentProvider)

Available payment providers

Value Description
Stripe

Stripe

returnUrl
string <uri>

The URL to redirect the user to after the account has been created

refreshUrl
string <uri>

The URL to redirect the user to if the account onboarding session expires

Responses
200

The details of the created account and the session and link to complete onboarding

400

Malformed Request (ProblemDetails)

401

Unauthorized - Provide proof of identity (ProblemDetails)

403

Forbidden - Insufficient permissions (ProblemDetails)

404

Not Found - Could not find a matching entity (ProblemDetails)

422

Unprocessable - Request was well formed but could not be actioned (ProblemDetails)

429

Too many requests - Chill out (ProblemDetails)

4XX

User Error (ProblemDetails)

5XX

Server Error (ProblemDetails)

post/sites/{SiteSlug}/payments/accounts
Request samples
application/json
Response samples
application/json
{
  • "account": {
    },
  • "onboardingSession": {
    },
  • "onboardingLink": {}
}

List payment provider accounts

List all payment provider accounts for the site

Securityapi_key or azure_auth
Request
path Parameters
SiteSlug
required
string <slug> (Slug) ^[osl][a-zA-Z0-9]{3,}$

The Slipstream slug that uniquely identifies a physical practice

Example: s8n6EzC
Responses
200

The details of the payment accounts

400

Malformed Request (ProblemDetails)

401

Unauthorized - Provide proof of identity (ProblemDetails)

403

Forbidden - Insufficient permissions (ProblemDetails)

404

Not Found - Could not find a matching entity (ProblemDetails)

422

Unprocessable - Request was well formed but could not be actioned (ProblemDetails)

429

Too many requests - Chill out (ProblemDetails)

4XX

User Error (ProblemDetails)

5XX

Server Error (ProblemDetails)

get/sites/{SiteSlug}/payments/accounts
Request samples
Response samples
application/json
[
  • {
    }
]

Get Payment Account Details

Gets the details of a payment provider account by ID

Securityapi_key or azure_auth
Request
path Parameters
SiteSlug
required
string <slug> (Slug) ^[osl][a-zA-Z0-9]{3,}$

The Slipstream slug that uniquely identifies a physical practice

Example: s8n6EzC
AccountId
required
string <uuid>

The unique identifier of the payment account

Example: 44088399-d916-4de5-9f0a-dca7b3d07df2
Responses
200

The details of the payment account

400

Malformed Request (ProblemDetails)

401

Unauthorized - Provide proof of identity (ProblemDetails)

403

Forbidden - Insufficient permissions (ProblemDetails)

404

Not Found - Could not find a matching entity (ProblemDetails)

422

Unprocessable - Request was well formed but could not be actioned (ProblemDetails)

429

Too many requests - Chill out (ProblemDetails)

4XX

User Error (ProblemDetails)

5XX

Server Error (ProblemDetails)

get/sites/{SiteSlug}/payments/accounts/{AccountId}
Request samples
Response samples
application/json
{
  • "accountId": "123e4567-e89b-12d3-a456-426614174000",
  • "paymentProvider": "Stripe",
  • "status": "None",
  • "createdAt": "2024-10-24T14:30:15+02:00",
  • "externalAccountId": "string"
}

Delete Payment Account

Delete a payment provider account by ID

Securityapi_key or azure_auth
Request
path Parameters
SiteSlug
required
string <slug> (Slug) ^[osl][a-zA-Z0-9]{3,}$

The Slipstream slug that uniquely identifies a physical practice

Example: s8n6EzC
AccountId
required
string <uuid>

The unique identifier of the payment account

Example: 44088399-d916-4de5-9f0a-dca7b3d07df2
Responses
200

The details of the deleted payment account

400

Malformed Request (ProblemDetails)

401

Unauthorized - Provide proof of identity (ProblemDetails)

403

Forbidden - Insufficient permissions (ProblemDetails)

404

Not Found - Could not find a matching entity (ProblemDetails)

422

Unprocessable - Request was well formed but could not be actioned (ProblemDetails)

429

Too many requests - Chill out (ProblemDetails)

4XX

User Error (ProblemDetails)

5XX

Server Error (ProblemDetails)

delete/sites/{SiteSlug}/payments/accounts/{AccountId}
Request samples
Response samples
application/json
{
  • "accountId": "123e4567-e89b-12d3-a456-426614174000"
}

Get Payment Details

Gets the details of a payment by ID

Securityapi_key or azure_auth
Request
path Parameters
SiteSlug
required
string <slug> (Slug) ^[osl][a-zA-Z0-9]{3,}$

The Slipstream slug that uniquely identifies a physical practice

Example: s8n6EzC
PaymentIdentifier
required
string <uuid>

The unique identifier of the payment

Example: 44088399-d916-4de5-9f0a-dca7b3d07df2
query Parameters
includeHistory
boolean

If true, the response will include the history of the payment

Example: includeHistory=false
Responses
200

The details of the payment

400

Malformed Request (ProblemDetails)

401

Unauthorized - Provide proof of identity (ProblemDetails)

403

Forbidden - Insufficient permissions (ProblemDetails)

404

Not Found - Could not find a matching entity (ProblemDetails)

422

Unprocessable - Request was well formed but could not be actioned (ProblemDetails)

429

Too many requests - Chill out (ProblemDetails)

4XX

User Error (ProblemDetails)

5XX

Server Error (ProblemDetails)

get/sites/{SiteSlug}/payments/{PaymentIdentifier}
Request samples
Response samples
application/json
{
  • "PaymentProvider": "Stripe",
  • "RecordId": "123e4567-e89b-12d3-a456-426614174000",
  • "PaymentId": "pi_3MtwBwLkdIwHu7ix28a3tqPa",
  • "Reference": "INV-1234",
  • "Amount": 1000,
  • "Currency": "USD",
  • "CustomerId": "string",
  • "StatementDescriptor": "string",
  • "FeeAmount": 100,
  • "TipAmount": 100,
  • "History": [
    ]
}