Skip to Content

Payments

Products, prices, checkout and enrollment via the open payments API, including bring-your-own provider.

Stripe OAuth callback endpoint

GET/api/v1/payments/stripe/oauth/callback
API tokenpayments:reador user session

Query parameters

codestringrequired

Stripe OAuth authorization code

org_idintegerrequired

Organization ID to connect

Error responses
  • 422 Validation Error — HTTPValidationError
Request
Response
{}

Stripe Webhook handler

POST/api/v1/payments/stripe/webhook
API tokenpayments:createor user session
Request
Response
{}

Stripe Standard webhook handler

POST/api/v1/payments/stripe/webhook/standard
API tokenpayments:createor user session
Request
Response
{}

Stripe Connect webhook handler

POST/api/v1/payments/stripe/webhook/connect
API tokenpayments:createor user session
Request
Response
{}

Get organization payment configurations

GET/api/v1/payments/{org_id}/config
API tokenpayments:reador user session

Path parameters

org_idintegerrequired

Returns

PaymentsConfigRead[] — Successful Response

idintegerrequired
org_idintegerrequired
enabledbooleanrequired
activebooleanrequired
providerstringrequired
modestringrequired
provider_specific_idstring | null
creation_datestringrequired
update_datestringrequired
Error responses
  • 422 Validation Error — HTTPValidationError
Request
Response
[
  {
    "id": 1,
    "org_id": 1,
    "enabled": false,
    "active": false,
    "provider": "string",
    "mode": "string",
    "provider_specific_id": "string",
    "creation_date": "string",
    "update_date": "string"
  }
]

Initialize or update organization payment configuration

POST/api/v1/payments/{org_id}/config
API tokenpayments:createor user session

Path parameters

org_idintegerrequired

Query parameters

providerstring | null

Request bodyapplication/jsonrequired

providerPaymentProviderEnum
stripe
enabledboolean
modeenum | null
standardexpress
provider_specific_idstring | null
provider_configProvider Config | null

Returns

PaymentsConfigRead — Successful Response

idintegerrequired
org_idintegerrequired
enabledbooleanrequired
activebooleanrequired
providerstringrequired
modestringrequired
provider_specific_idstring | null
creation_datestringrequired
update_datestringrequired
Error responses
  • 422 Validation Error — HTTPValidationError
Request
Response
{
  "id": 1,
  "org_id": 1,
  "enabled": false,
  "active": false,
  "provider": "string",
  "mode": "string",
  "provider_specific_id": "string",
  "creation_date": "string",
  "update_date": "string"
}

Delete organization payment configuration

DELETE/api/v1/payments/{org_id}/config
API tokenpayments:deleteor user session

Path parameters

org_idintegerrequired

Query parameters

idintegerrequired

The ID of the PaymentsConfig record to remove

Error responses
  • 422 Validation Error — HTTPValidationError
Request
Response
{}

Public listing of active offers

GET/api/v1/payments/{org_id}/offers/public-listing
API tokenpayments:reador user session

Path parameters

org_idintegerrequired

Returns

PaymentsOfferPublicRead[] — Successful Response

offer_uuidstringrequired
org_idintegerrequired
namestringrequired
descriptionstringrequired
benefitsstring[] | null
offer_typestringrequired
price_typestringrequired
amountnumberrequired
currencystringrequired
included_resourcesobject[]
Error responses
  • 422 Validation Error — HTTPValidationError
Request
Response
[
  {
    "offer_uuid": "string",
    "org_id": 1,
    "name": "Example name",
    "description": "An example description",
    "benefits": [
      "string"
    ],
    "offer_type": "string",
    "price_type": "string",
    "amount": 0,
    "currency": "string",
    "included_resources": []
  }
]

Public lookup of offers for a resource

GET/api/v1/payments/{org_id}/offers/by-resource
API tokenpayments:reador user session

Path parameters

org_idintegerrequired

Query parameters

resource_uuidstringrequired

Resource UUID to find offers for

Returns

PaymentsOfferPublicRead[] — Successful Response

offer_uuidstringrequired
org_idintegerrequired
namestringrequired
descriptionstringrequired
benefitsstring[] | null
offer_typestringrequired
price_typestringrequired
amountnumberrequired
currencystringrequired
included_resourcesobject[]
Error responses
  • 422 Validation Error — HTTPValidationError
Request
Response
[
  {
    "offer_uuid": "string",
    "org_id": 1,
    "name": "Example name",
    "description": "An example description",
    "benefits": [
      "string"
    ],
    "offer_type": "string",
    "price_type": "string",
    "amount": 0,
    "currency": "string",
    "included_resources": []
  }
]

List organization offers

GET/api/v1/payments/{org_id}/offers
API tokenpayments:reador user session

Path parameters

org_idintegerrequired

Query parameters

include_archivedboolean

Include soft-deleted offers

Returns

PaymentsOfferRead[] — Successful Response

idintegerrequired
offer_uuidstringrequired
org_idintegerrequired
namestringrequired
descriptionstringrequired
benefitsstring[] | null
offer_typestringrequired
price_typestringrequired
amountnumberrequired
currencystringrequired
payments_config_idinteger | null
usergroup_idinteger | null
provider_product_idstring | null
provider_price_idstring | null
archivedbooleanrequired
creation_datestringrequired
update_datestringrequired
Error responses
  • 422 Validation Error — HTTPValidationError
Request
Response
[
  {
    "id": 1,
    "offer_uuid": "string",
    "org_id": 1,
    "name": "Example name",
    "description": "An example description",
    "benefits": [
      "string"
    ],
    "offer_type": "string",
    "price_type": "string",
    "amount": 0,
    "currency": "string",
    "payments_config_id": 1,
    "usergroup_id": 1,
    "provider_product_id": "string",
    "provider_price_id": "string",
    "archived": false,
    "creation_date": "string",
    "update_date": "string"
  }
]

Create a new offer

POST/api/v1/payments/{org_id}/offers
API tokenpayments:createor user session

Path parameters

org_idintegerrequired

Request bodyapplication/jsonrequired

namestringrequired
descriptionstring
benefitsstring[] | string | null
offer_typeOfferTypeEnum
one_timesubscription
price_typeOfferPriceTypeEnum
fixed_pricecustomer_choice
amountnumber
currencystring
payments_config_idinteger | null
usergroup_idinteger | null
payments_group_idinteger | null
resource_uuidsstring[] | null

Returns

PaymentsOfferRead — Successful Response

idintegerrequired
offer_uuidstringrequired
org_idintegerrequired
namestringrequired
descriptionstringrequired
benefitsstring[] | null
offer_typestringrequired
price_typestringrequired
amountnumberrequired
currencystringrequired
payments_config_idinteger | null
usergroup_idinteger | null
provider_product_idstring | null
provider_price_idstring | null
archivedbooleanrequired
creation_datestringrequired
update_datestringrequired
Error responses
  • 422 Validation Error — HTTPValidationError
Request
Response
{
  "id": 1,
  "offer_uuid": "string",
  "org_id": 1,
  "name": "Example name",
  "description": "An example description",
  "benefits": [
    "string"
  ],
  "offer_type": "string",
  "price_type": "string",
  "amount": 0,
  "currency": "string",
  "payments_config_id": 1,
  "usergroup_id": 1,
  "provider_product_id": "string",
  "provider_price_id": "string",
  "archived": false,
  "creation_date": "string",
  "update_date": "string"
}

Get single public offer

GET/api/v1/payments/{org_id}/offers/{offer_id}/public
API tokenpayments:reador user session

Path parameters

org_idintegerrequired
offer_idstringrequired

Returns

PaymentsOfferPublicRead — Successful Response

offer_uuidstringrequired
org_idintegerrequired
namestringrequired
descriptionstringrequired
benefitsstring[] | null
offer_typestringrequired
price_typestringrequired
amountnumberrequired
currencystringrequired
included_resourcesobject[]
Error responses
  • 422 Validation Error — HTTPValidationError
Request
Response
{
  "offer_uuid": "string",
  "org_id": 1,
  "name": "Example name",
  "description": "An example description",
  "benefits": [
    "string"
  ],
  "offer_type": "string",
  "price_type": "string",
  "amount": 0,
  "currency": "string",
  "included_resources": []
}

Get offer details

GET/api/v1/payments/{org_id}/offers/{offer_id}
API tokenpayments:reador user session

Path parameters

org_idintegerrequired
offer_idstringrequired

Returns

PaymentsOfferRead — Successful Response

idintegerrequired
offer_uuidstringrequired
org_idintegerrequired
namestringrequired
descriptionstringrequired
benefitsstring[] | null
offer_typestringrequired
price_typestringrequired
amountnumberrequired
currencystringrequired
payments_config_idinteger | null
usergroup_idinteger | null
provider_product_idstring | null
provider_price_idstring | null
archivedbooleanrequired
creation_datestringrequired
update_datestringrequired
Error responses
  • 422 Validation Error — HTTPValidationError
Request
Response
{
  "id": 1,
  "offer_uuid": "string",
  "org_id": 1,
  "name": "Example name",
  "description": "An example description",
  "benefits": [
    "string"
  ],
  "offer_type": "string",
  "price_type": "string",
  "amount": 0,
  "currency": "string",
  "payments_config_id": 1,
  "usergroup_id": 1,
  "provider_product_id": "string",
  "provider_price_id": "string",
  "archived": false,
  "creation_date": "string",
  "update_date": "string"
}

Update offer

PUT/api/v1/payments/{org_id}/offers/{offer_id}
API tokenpayments:updateor user session

Path parameters

org_idintegerrequired
offer_idstringrequired

Request bodyapplication/jsonrequired

namestring | null
descriptionstring | null
benefitsstring[] | string | null
offer_typeenum | null
one_timesubscription
price_typeenum | null
fixed_pricecustomer_choice
amountnumber | null
currencystring | null
archivedboolean | null

Returns

PaymentsOfferRead — Successful Response

idintegerrequired
offer_uuidstringrequired
org_idintegerrequired
namestringrequired
descriptionstringrequired
benefitsstring[] | null
offer_typestringrequired
price_typestringrequired
amountnumberrequired
currencystringrequired
payments_config_idinteger | null
usergroup_idinteger | null
provider_product_idstring | null
provider_price_idstring | null
archivedbooleanrequired
creation_datestringrequired
update_datestringrequired
Error responses
  • 422 Validation Error — HTTPValidationError
Request
Response
{
  "id": 1,
  "offer_uuid": "string",
  "org_id": 1,
  "name": "Example name",
  "description": "An example description",
  "benefits": [
    "string"
  ],
  "offer_type": "string",
  "price_type": "string",
  "amount": 0,
  "currency": "string",
  "payments_config_id": 1,
  "usergroup_id": 1,
  "provider_product_id": "string",
  "provider_price_id": "string",
  "archived": false,
  "creation_date": "string",
  "update_date": "string"
}

Archive offer

DELETE/api/v1/payments/{org_id}/offers/{offer_id}
API tokenpayments:deleteor user session

Path parameters

org_idintegerrequired
offer_idstringrequired
Error responses
  • 422 Validation Error — HTTPValidationError
Request
Response
{}

Get offer resources

GET/api/v1/payments/{org_id}/offers/{offer_id}/resources
API tokenpayments:reador user session

Path parameters

org_idintegerrequired
offer_idstringrequired
Error responses
  • 422 Validation Error — HTTPValidationError
Request
Response
[
  "string"
]

Add resource to offer

POST/api/v1/payments/{org_id}/offers/{offer_id}/resources
API tokenpayments:createor user session

Path parameters

org_idintegerrequired
offer_idstringrequired

Query parameters

resource_uuidstringrequired
Error responses
  • 422 Validation Error — HTTPValidationError
Request
Response
{}

Remove resource from offer

DELETE/api/v1/payments/{org_id}/offers/{offer_id}/resources
API tokenpayments:deleteor user session

Path parameters

org_idintegerrequired
offer_idstringrequired

Query parameters

resource_uuidstringrequired
Error responses
  • 422 Validation Error — HTTPValidationError
Request
Response
{}

List payment groups

GET/api/v1/payments/{org_id}/groups
API tokenpayments:reador user session

Path parameters

org_idintegerrequired

Returns

PaymentsGroupRead[] — Successful Response

namestringrequired
descriptionstring
idintegerrequired
group_uuidstringrequired
org_idintegerrequired
creation_datestringrequired
update_datestringrequired
Error responses
  • 422 Validation Error — HTTPValidationError
Request
Response
[
  {
    "name": "Example name",
    "description": "",
    "id": 1,
    "group_uuid": "string",
    "org_id": 1,
    "creation_date": "string",
    "update_date": "string"
  }
]

Create payment group

POST/api/v1/payments/{org_id}/groups
API tokenpayments:createor user session

Path parameters

org_idintegerrequired

Request bodyapplication/jsonrequired

namestringrequired
descriptionstring

Returns

PaymentsGroupRead — Successful Response

namestringrequired
descriptionstring
idintegerrequired
group_uuidstringrequired
org_idintegerrequired
creation_datestringrequired
update_datestringrequired
Error responses
  • 422 Validation Error — HTTPValidationError
Request
Response
{
  "name": "Example name",
  "description": "",
  "id": 1,
  "group_uuid": "string",
  "org_id": 1,
  "creation_date": "string",
  "update_date": "string"
}

Update payment group

PUT/api/v1/payments/{org_id}/groups/{group_id}
API tokenpayments:updateor user session

Path parameters

org_idintegerrequired
group_idintegerrequired

Request bodyapplication/jsonrequired

namestring | null
descriptionstring | null

Returns

PaymentsGroupRead — Successful Response

namestringrequired
descriptionstring
idintegerrequired
group_uuidstringrequired
org_idintegerrequired
creation_datestringrequired
update_datestringrequired
Error responses
  • 422 Validation Error — HTTPValidationError
Request
Response
{
  "name": "Example name",
  "description": "",
  "id": 1,
  "group_uuid": "string",
  "org_id": 1,
  "creation_date": "string",
  "update_date": "string"
}

Delete payment group

DELETE/api/v1/payments/{org_id}/groups/{group_id}
API tokenpayments:deleteor user session

Path parameters

org_idintegerrequired
group_idintegerrequired
Error responses
  • 422 Validation Error — HTTPValidationError
Request
Response
{}

Get synced UserGroup IDs

GET/api/v1/payments/{org_id}/groups/{group_id}/sync
API tokenpayments:reador user session

Path parameters

org_idintegerrequired
group_idintegerrequired
Error responses
  • 422 Validation Error — HTTPValidationError
Request
Response
[
  0
]

Sync UserGroup to payment group

POST/api/v1/payments/{org_id}/groups/{group_id}/sync
API tokenpayments:createor user session

Path parameters

org_idintegerrequired
group_idintegerrequired

Query parameters

usergroup_idintegerrequired
Error responses
  • 422 Validation Error — HTTPValidationError
Request
Response
{}

Remove UserGroup sync from payment group

DELETE/api/v1/payments/{org_id}/groups/{group_id}/sync
API tokenpayments:deleteor user session

Path parameters

org_idintegerrequired
group_idintegerrequired

Query parameters

usergroup_idintegerrequired
Error responses
  • 422 Validation Error — HTTPValidationError
Request
Response
{}

Get group resources

GET/api/v1/payments/{org_id}/groups/{group_id}/resources
API tokenpayments:reador user session

Path parameters

org_idintegerrequired
group_idintegerrequired
Error responses
  • 422 Validation Error — HTTPValidationError
Request
Response
[
  "string"
]

Add resource to group

POST/api/v1/payments/{org_id}/groups/{group_id}/resources
API tokenpayments:createor user session

Path parameters

org_idintegerrequired
group_idintegerrequired

Query parameters

resource_uuidstringrequired
Error responses
  • 422 Validation Error — HTTPValidationError
Request
Response
{}

Remove resource from group

DELETE/api/v1/payments/{org_id}/groups/{group_id}/resources
API tokenpayments:deleteor user session

Path parameters

org_idintegerrequired
group_idintegerrequired

Query parameters

resource_uuidstringrequired
Error responses
  • 422 Validation Error — HTTPValidationError
Request
Response
{}

Get current user's enrollments

GET/api/v1/payments/{org_id}/enrollments/mine
API tokenpayments:reador user session

Path parameters

org_idintegerrequired

Returns

PaymentsEnrollmentRead[] — Successful Response

statusEnrollmentStatusEnum
pendingcompletedactivecancelledfailedrefunded
idintegerrequired
enrollment_uuidstringrequired
org_idintegerrequired
offer_idintegerrequired
user_idintegerrequired
provider_specific_dataProvider Specific Data | nullrequired
creation_datestringrequired
update_datestringrequired
Error responses
  • 422 Validation Error — HTTPValidationError
Request
Response
[
  {
    "status": "pending",
    "id": 1,
    "enrollment_uuid": "string",
    "org_id": 1,
    "offer_id": 1,
    "user_id": 1,
    "provider_specific_data": {},
    "creation_date": "string",
    "update_date": "string"
  }
]

List organization customers and enrollments

GET/api/v1/payments/{org_id}/customers
API tokenpayments:reador user session

Path parameters

org_idintegerrequired
Error responses
  • 422 Validation Error — HTTPValidationError
Request
Response
[
  {}
]

Get Stripe Standard OAuth connect URL

POST/api/v1/payments/{org_id}/stripe/connect/link
API tokenpayments:createor user session

Path parameters

org_idintegerrequired

Query parameters

redirect_uristringrequired

Redirect URI after OAuth

Error responses
  • 422 Validation Error — HTTPValidationError
Request
Response
{}

Get Stripe Express onboarding URL

POST/api/v1/payments/{org_id}/stripe/express/connect/link
API tokenpayments:createor user session

Path parameters

org_idintegerrequired

Query parameters

redirect_uristringrequired

Return/refresh URI

Error responses
  • 422 Validation Error — HTTPValidationError
Request
Response
{}

Refresh Stripe Express onboarding URL

POST/api/v1/payments/{org_id}/stripe/express/connect/refresh
API tokenpayments:createor user session

Path parameters

org_idintegerrequired

Query parameters

redirect_uristringrequired

Return/refresh URI

Error responses
  • 422 Validation Error — HTTPValidationError
Request
Response
{}

Get Stripe Express hosted dashboard URL

GET/api/v1/payments/{org_id}/stripe/express/dashboard
API tokenpayments:reador user session

Path parameters

org_idintegerrequired
Error responses
  • 422 Validation Error — HTTPValidationError
Request
Response
{}

Get Stripe overview metrics

GET/api/v1/payments/{org_id}/stripe/overview
API tokenpayments:reador user session

Path parameters

org_idintegerrequired
Error responses
  • 422 Validation Error — HTTPValidationError
Request
Response
{}

Get Stripe charges

GET/api/v1/payments/{org_id}/stripe/charges
API tokenpayments:reador user session

Path parameters

org_idintegerrequired

Query parameters

limitinteger
starting_afterstring | null
Error responses
  • 422 Validation Error — HTTPValidationError
Request
Response
{}

Get Stripe subscriptions

GET/api/v1/payments/{org_id}/stripe/subscriptions
API tokenpayments:reador user session

Path parameters

org_idintegerrequired

Query parameters

statusstring
Error responses
  • 422 Validation Error — HTTPValidationError
Request
Response
{}

Create checkout session for offer

POST/api/v1/payments/{org_id}/offers/{offer_uuid}/checkout
API tokenpayments:createor user session

Path parameters

org_idintegerrequired
offer_uuidstringrequired

Query parameters

redirect_uristringrequired

Redirect URI after purchase

Error responses
  • 422 Validation Error — HTTPValidationError
Request
Response
{}

Create billing portal session for learner

POST/api/v1/payments/{org_id}/billing/portal
API tokenpayments:createor user session

Path parameters

org_idintegerrequired

Query parameters

return_urlstringrequired

Return URL after exiting portal

Error responses
  • 422 Validation Error — HTTPValidationError
Request
Response
{}