Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
77 changes: 35 additions & 42 deletions openapi.json
Original file line number Diff line number Diff line change
Expand Up @@ -243,7 +243,7 @@
"post": {
"operationId": "CreateCheckout",
"summary": "Create a checkout",
"description": "Creates a new payment checkout resource. The unique `checkout_reference` created by this request, is used for further manipulation of the checkout.\n\nFor 3DS checkouts, add the `redirect_url` parameter to your request body schema.\nTo use the [Hosted Checkout](https://developer.sumup.com/online-payments/checkouts/hosted-checkout/) page, set the `hosted_checkout.enabled` to `true`.\n\nFollow by processing a checkout to charge the provided payment instrument.",
"description": "Creates a payment checkout for the specified merchant, amount, and currency. Supply a `checkout_reference` to identify the payment attempt in your own systems. Creating a checkout does not charge a payment instrument.\n\nSet `hosted_checkout.enabled` to `true` to receive a [Hosted Checkout](https://developer.sumup.com/online-payments/checkouts/hosted-checkout/) URL where the customer can complete the payment.\nUse `redirect_url` for redirect-based payment and 3DS flows. If `return_url` is provided, SumUp sends processing updates to that backend callback URL.\n\nComplete the payment through [Hosted Checkout](https://developer.sumup.com/online-payments/checkouts/hosted-checkout/) or the [Payment Widget](https://developer.sumup.com/online-payments/checkouts/card-widget).",
"tags": [
"Checkouts"
],
Expand Down Expand Up @@ -746,7 +746,7 @@
"patch": {
"operationId": "UpdateCheckout",
"summary": "Update a checkout",
"description": "Updates an identified checkout resource.",
"description": "Updates the amount, currency, description, reference, expiration, or customer associated with an existing checkout. Only the supplied fields are updated.\n\nThis request changes the checkout details; it does not charge a payment instrument. Process the checkout separately to attempt a payment.",
"tags": [
"Checkouts"
],
Expand Down Expand Up @@ -3443,28 +3443,30 @@
"type": "string"
}
},
{
"name": "resource.id",
"in": "query",
"description": "Filter memberships by the ID of the resource the membership is in.",
"schema": {
"type": "string"
}
},
{
"name": "resource.parent.id",
"in": "query",
"description": "Filter memberships by the parent of the resource the membership is in.\nWhen filtering by parent both `resource.parent.id` and `resource.parent.type` must be present. Pass explicit null to filter for resources without a parent.",
"allowEmptyValue": true,
"description": "Filter memberships by the parent of the resource the membership is in.\nOmit both `resource.parent.id` and `resource.parent.type` to skip parent filtering. When filtering by parent, both parameters must be present. To select resources without a parent, set each parameter to an empty value. Otherwise, both parameters must identify a parent.",
"schema": {
"type": [
"string",
"null"
]
"type": "string"
}
},
{
"name": "resource.parent.type",
"in": "query",
"description": "Filter memberships by the parent of the resource the membership is in.\nWhen filtering by parent both `resource.parent.id` and `resource.parent.type` must be present. Pass explicit null to filter for resources without a parent.",
"allowEmptyValue": true,
"description": "Filter memberships by the parent of the resource the membership is in.\nOmit both `resource.parent.id` and `resource.parent.type` to skip parent filtering. When filtering by parent, both parameters must be present. To select resources without a parent, set each parameter to an empty value. Otherwise, both parameters must identify a parent.",
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ResourceType"
}
],
"type": "null"
"$ref": "#/components/schemas/ResourceType"
}
},
{
Expand Down Expand Up @@ -3603,19 +3605,6 @@
"example": "245b2ead-85bf-45ff-856f-311a88a5d454"
}
},
{
"name": "user.type",
"in": "query",
"description": "Filter the returned members by user type. Repeat this parameter to include multiple user types.",
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/UserType"
}
},
"style": "form",
"explode": true
},
{
"name": "status",
"in": "query",
Expand Down Expand Up @@ -3730,7 +3719,7 @@
"post": {
"operationId": "CreateMerchantMember",
"summary": "Create a member",
"description": "Create a merchant member.",
"description": "Adds a member to the merchant account with the specified roles.\n\nBy default, sends an invitation email to the provided address. The recipient must accept the invitation to join the account.\nWhen `is_managed_user` is `true`, creates a managed user with the provided password and optional nickname and assigns the roles directly, without sending an invitation.",
"tags": [
"Members"
],
Expand Down Expand Up @@ -3795,6 +3784,7 @@
"roles": {
"type": "array",
"description": "List of roles to assign to the new member.",
"minItems": 1,
"maxItems": 124,
"items": {
"type": "string",
Expand Down Expand Up @@ -3978,7 +3968,7 @@
},
"put": {
"summary": "Update a member",
"description": "Update the merchant member.",
"description": "Updates a merchant member and returns the updated member.\n\nProviding `roles` replaces the member's assigned roles and can grant or revoke access. Providing `metadata` replaces the entire metadata object.\nFor managed users, `user.nickname` changes the display name and `user.password` replaces the password. Updating the password also enables the managed user account.",
"tags": [
"Members"
],
Expand Down Expand Up @@ -4017,6 +4007,7 @@
"properties": {
"roles": {
"type": "array",
"minItems": 1,
"maxItems": 124,
"items": {
"type": "string",
Expand Down Expand Up @@ -4392,6 +4383,7 @@
"permissions": {
"type": "array",
"description": "User's permissions.",
"minItems": 1,
"maxItems": 100,
"items": {
"type": "string"
Expand Down Expand Up @@ -4652,7 +4644,7 @@
"patch": {
"operationId": "UpdateMerchantRole",
"summary": "Update a role",
"description": "Update a custom role.",
"description": "Updates a custom role's name, description, or permissions and returns the updated role.\n\nProviding `permissions` replaces the role's permission list and changes the access granted to members assigned to that role. Omitted fields remain unchanged.",
"tags": [
"Roles"
],
Expand Down Expand Up @@ -4696,6 +4688,7 @@
"permissions": {
"type": "array",
"description": "User's permissions.",
"minItems": 1,
"maxItems": 100,
"items": {
"type": "string"
Expand Down Expand Up @@ -5438,7 +5431,7 @@
},
"patch": {
"summary": "Update a Reader",
"description": "Update a Reader.",
"description": "Updates a reader's name or metadata and returns the updated reader.\n\nProviding `metadata` replaces the entire metadata object; include all entries that should be retained. Omitted fields remain unchanged.",
"operationId": "UpdateReader",
"tags": [
"Readers"
Expand Down Expand Up @@ -8923,17 +8916,6 @@
}
}
},
"UserType": {
"type": "string",
"description": "Type of the user account.",
"enum": [
"user",
"managed_user",
"service_account",
"system_account"
],
"example": "user"
},
"Metadata": {
"description": "Set of user-defined key-value pairs attached to the object. Partial updates are not supported. When updating, always submit whole metadata. Maximum of 64 parameters are allowed in the object.",
"type": "object",
Expand All @@ -8947,6 +8929,17 @@
"example": {},
"additionalProperties": true
},
"UserType": {
"type": "string",
"description": "Type of the user account.",
"enum": [
"user",
"managed_user",
"service_account",
"system_account"
],
"example": "user"
},
"Address": {
"externalDocs": {
"description": "Address documentation",
Expand Down
10 changes: 0 additions & 10 deletions src/Members/Members.php
Original file line number Diff line number Diff line change
Expand Up @@ -272,13 +272,6 @@ class MembersListParams
*/
public ?string $userId = null;

/**
* Filter the returned members by user type. Repeat this parameter to include multiple user types.
*
* @var string[]|null
*/
public ?array $userType = null;

/**
* Filter the returned members by the membership status.
*
Expand Down Expand Up @@ -453,9 +446,6 @@ public function list(string $merchantCode, ?MembersListParams $queryParams = nul
if (isset($queryParams->userId)) {
$queryParamsData['user.id'] = $queryParams->userId;
}
if (isset($queryParams->userType)) {
$queryParamsData['user.type'] = $queryParams->userType;
}
if (isset($queryParams->status)) {
$queryParamsData['status'] = $queryParams->status;
}
Expand Down
18 changes: 14 additions & 4 deletions src/Memberships/Memberships.php
Original file line number Diff line number Diff line change
Expand Up @@ -83,21 +83,28 @@ class MembershipsListParams
*/
public ?string $resourceName = null;

/**
* Filter memberships by the ID of the resource the membership is in.
*
* @var string|null
*/
public ?string $resourceId = null;

/**
* Filter memberships by the parent of the resource the membership is in.
* When filtering by parent both `resource.parent.id` and `resource.parent.type` must be present. Pass explicit null to filter for resources without a parent.
* Omit both `resource.parent.id` and `resource.parent.type` to skip parent filtering. When filtering by parent, both parameters must be present. To select resources without a parent, set each parameter to an empty value. Otherwise, both parameters must identify a parent.
*
* @var string|null
*/
public ?string $resourceParentId = null;

/**
* Filter memberships by the parent of the resource the membership is in.
* When filtering by parent both `resource.parent.id` and `resource.parent.type` must be present. Pass explicit null to filter for resources without a parent.
* Omit both `resource.parent.id` and `resource.parent.type` to skip parent filtering. When filtering by parent, both parameters must be present. To select resources without a parent, set each parameter to an empty value. Otherwise, both parameters must identify a parent.
*
* @var mixed|null
* @var string|null
*/
public mixed $resourceParentType = null;
public ?string $resourceParentType = null;

/**
* Filter the returned memberships by role.
Expand Down Expand Up @@ -181,6 +188,9 @@ public function list(?MembershipsListParams $queryParams = null, ?RequestOptions
if (isset($queryParams->resourceName)) {
$queryParamsData['resource.name'] = $queryParams->resourceName;
}
if (isset($queryParams->resourceId)) {
$queryParamsData['resource.id'] = $queryParams->resourceId;
}
if (isset($queryParams->resourceParentId)) {
$queryParamsData['resource.parent.id'] = $queryParams->resourceParentId;
}
Expand Down
Loading