{ "openapi": "3.0.1", "info": { "title": "AccountTransaction API 1.0", "description": "The account-transaction api is used to facilitate transactions towards an account using a two-phase commit pattern (standard for online payments). The api has 2 major parts 'account - transaction' where the system that initiates the payment integrates , and 'public-account-transaction' that is used when interaction with the user/consumer is required in the transaction flow (used by PayEx interfaces).", "contact": { "name": "Payex", "email": "a@b.c" }, "version": "1.0" }, "paths": { "/ledger/account-transaction/v1/{ownerNo}/pre-authorizations": { "post": { "tags": [ "AccountTransaction" ], "summary": "Create pre-authorization", "description": "Check if required conditions are met to begin a transaction. Creates an authentication resource that exposes operation link to redirect if user interaction is required. (Is there an existing account? Is the account's limit sufficient for the new transaction?)", "parameters": [ { "name": "ownerNo", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/V1.PreAuthorizations.PreAuthorizationResourceBase" }, "example": "{\r\n \"customer\": {\r\n \"nationalConsumerIdentifier\": {\r\n \"value\": \"19101010-1010\",\r\n \"countryCode\": \"SE\"\r\n },\r\n \"email\": \"abc@test.com\",\r\n \"msisdn\": \"4670123456\",\r\n \"customerNo\": \"456987\"\r\n },\r\n \"sellerNo\": \"123456\",\r\n \"sellerReferenceId\": \"abc-87465123\",\r\n \"profileName\": \"configured-profile-name\",\r\n \"authorizationAmount\": 100.50,\r\n \"currency\": \"SEK\",\r\n \"pointOfSale\": \"Test shop\",\r\n \"assessment\": {\r\n \"assessmentUrl\": \"/score/sca/v1/{claimantNo}/assessments/{assessmentNo}\",\r\n \"scaStatus\": \"Required\"\r\n }\r\n}" }, "text/json": { "schema": { "$ref": "#/components/schemas/V1.PreAuthorizations.PreAuthorizationResourceBase" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/V1.PreAuthorizations.PreAuthorizationResourceBase" } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/V1.PreAuthorizations.PreAuthorizationsResponse" }, "examples": { "Created": { "description": "Initiate new pre-authorization. Evaluates and decides what needs to be ready for the requested authorize flow", "value": "{\r\n \"preAuthorizationId\": \"8c535338d92c49e790bf304dbf38e0bd\",\r\n \"preAuthorizationStatus\": \"Initialized\",\r\n \"customer\": {\r\n \"nationalConsumerIdentifier\": {\r\n \"value\": \"19101010-1010\",\r\n \"countryCode\": \"SE\"\r\n },\r\n \"email\": \"abc@test.com\",\r\n \"msisdn\": \"4670123456\",\r\n \"customerNo\": \"456987\"\r\n },\r\n \"sellerNo\": \"123456\",\r\n \"sellerReferenceId\": \"abc-87465123\",\r\n \"profileName\": \"configured-profile-name\",\r\n \"authorizationAmount\": 100.50,\r\n \"currency\": \"SEK\",\r\n \"pointOfSale\": \"Test shop\",\r\n \"assessment\": {\r\n \"assessmentUrl\": \"/score/sca/v1/{claimantNo}/assessments/{assessmentNo}\",\r\n \"scaStatus\": \"Required\"\r\n },\r\n \"@id\": \"/ledger/account-transaction/v1/xxx/pre-authorizations/8c535338d92c49e790bf304dbf38e0bd\",\r\n \"operations\": [\r\n {\r\n \"rel\": \"add-authorizations\",\r\n \"method\": \"POST\",\r\n \"href\": \"/ledger/account-transaction/v1/591/authorizations\"\r\n },\r\n {\r\n \"rel\": \"add-split-authorizations\",\r\n \"method\": \"POST\",\r\n \"href\": \"/ledger/account-transaction/v1/591/split-authorizations\"\r\n },\r\n {\r\n \"rel\": \"redirect\",\r\n \"method\": \"POST\",\r\n \"href\": \"/ledger/account-transaction/v1/xxx/pre-authorizations/8c535338d92c49e790bf304dbf38e0bd/redirect\"\r\n }\r\n ]\r\n}" } } } } }, "400": { "description": "BadRequest", "content": { "application/json": { "examples": { "validation": { "description": "occurs if any of the input validation fails, it is described in the problem which parameter that failed the validation", "value": "{\r\n \"type\": \"validation\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" } } } } }, "409": { "description": "Conflict", "content": { "application/json": { "examples": { "account-limit-too-low": { "description": "Occurs if the credit limit on the account is too low, raise the limit before making the call", "value": "{\r\n \"type\": \"account-limit-too-low\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" }, "account-missing": { "description": "No Account found for provided profile name and customer, need to create an account before calling", "value": "{\r\n \"type\": \"account-missing\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" }, "conflict": { "description": "May find more information in details", "value": "{\r\n \"type\": \"conflict\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" }, "unsupported-claim-level": { "description": "Account unable to accept new transactions", "value": "{\r\n \"type\": \"unsupported-claim-level\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" }, "not-valid-for-special-intent": { "description": "Provided SpecialIntent was not valid for this request", "value": "{\r\n \"type\": \"not-valid-for-special-intent\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" }, "unable-to-use-trusted-consent": { "description": "Customer or Account is in a invalid state for the use of trusted seller group consent", "value": "{\r\n \"type\": \"unable-to-use-trusted-consent\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" } } } } }, "422": { "description": "UnprocessableEntity", "content": { "application/json": { "examples": { "unprocessable": { "description": "May find more information in details", "value": "{\r\n \"type\": \"unprocessable\",\r\n \"title\": \"Problem title\",\r\n \"status\": 422,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" } } } } }, "500": { "description": "InternalServerError", "content": { "application/json": { "examples": { "fatal": { "description": "Unexpected error, logs may give details about the problem", "value": "{\r\n \"type\": \"fatal\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" } } } } } } } }, "/ledger/public-account-transaction/v1/{ownerNo}/standalone-account-onboarding": { }, "/ledger/account-transaction/v1/{ownerNo}/pre-authorizations/{preAuthorizationId}": { "get": { "tags": [ "AccountTransaction" ], "summary": "get existing pre authorization", "description": "Gets already created pre authorization", "operationId": "PayEx.AR.AccountTransaction.Api.Resources.AccountTransaction.V1.PreAuthorizations.PreAuthorizationsController_Id_GetSingle", "parameters": [ { "name": "ownerNo", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "preAuthorizationId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/V1.PreAuthorizations.PreAuthorizationsResponse" }, "examples": { "OK": { "description": "Initiate new pre-authorization", "value": "{\r\n \"preAuthorizationId\": \"8c535338-d92c-49e7-90bf-304dbf38e0bd\",\r\n \"preAuthorizationStatus\": \"Initialized\",\r\n \"customer\": {\r\n \"nationalConsumerIdentifier\": {\r\n \"value\": \"19101010-1010\",\r\n \"countryCode\": \"SE\"\r\n },\r\n \"email\": \"abc@test.com\",\r\n \"msisdn\": \"4670123456\",\r\n \"customerNo\": \"456987\"\r\n },\r\n \"sellerNo\": \"123456\",\r\n \"sellerReferenceId\": \"abc-87465123\",\r\n \"profileName\": \"configured-profile-name\",\r\n \"authorizationAmount\": 100.50,\r\n \"currency\": \"SEK\",\r\n \"pointOfSale\": \"Test shop\",\r\n \"assessment\": {\r\n \"assessmentUrl\": \"/score/sca/v1/{claimantNo}/assessments/{assessmentNo}\",\r\n \"scaStatus\": \"Required\"\r\n },\r\n \"operations\": [\r\n {\r\n \"rel\": \"add-authorizations\",\r\n \"method\": \"POST\",\r\n \"href\": \"/ledger/account-transaction/v1/591/authorizations\"\r\n },\r\n {\r\n \"rel\": \"add-split-authorizations\",\r\n \"method\": \"POST\",\r\n \"href\": \"/ledger/account-transaction/v1/591/split-authorizations\"\r\n },\r\n {\r\n \"rel\": \"redirect\",\r\n \"method\": \"POST\",\r\n \"href\": \"/ledger/account-transaction/v1/xxx/pre-authorizations/8c535338-d92c-49e7-90bf-304dbf38e0bd/redirect\"\r\n }\r\n ]\r\n}" } } } } } } } }, "/ledger/public-account-transaction/v1/{ownerNo}/standalone-account-onboarding/{standaloneAccountOnboardingId}": { }, "/ledger/public-account-transaction/v1/{ownerNo}/standalone-account-onboarding/{standaloneAccountOnboardingId}/authentication-bankid-se": { }, "/ledger/public-account-transaction/v1/{ownerNo}/standalone-account-onboarding/{standaloneAccountOnboardingId}/redirect": { }, "/ledger/account-transaction/v1/{ownerNo}/pre-authorizations/{preAuthorizationId}/redirect": { "post": { "tags": [ "AccountTransaction" ], "summary": "Redirect authentication flow", "description": "Initiates redirect authentication flow, generates redirect url and accepts return url after redirect process finishes. The operation is exposed by the parent authentication if required.", "parameters": [ { "name": "ownerNo", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "preAuthorizationId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/V1.PreAuthorizations.Operations.Redirect.RedirectRequest" }, "example": "{\r\n \"returnUrl\": \"https://apiconsumerexample.se/transactioncallbackexample\",\r\n \"redirectOptions\": {\r\n \"nativeAppSwitchingUrl\": \"myapp://{ledgerNo}example\",\r\n \"autostartAction\": \"MhVrFOAClUaJUx6QqnLgCw\",\r\n \"languageCode\": \"Sv\"\r\n }\r\n}" }, "text/json": { "schema": { "$ref": "#/components/schemas/V1.PreAuthorizations.Operations.Redirect.RedirectRequest" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/V1.PreAuthorizations.Operations.Redirect.RedirectRequest" } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/V1.PreAuthorizations.Operations.Redirect.RedirectResponse" }, "examples": { "Created": { "description": "Setup the redirect for both the sign/identification page and where to be redirect after", "value": "{\r\n \"redirectUrl\": \"/ledger/public-account-transaction/v1/{ledgerNo}/8c535338-d92c-49e7-90bf-304dbf38e0bd?token=JWT12345\"\r\n}" } } } } }, "400": { "description": "BadRequest", "content": { "application/json": { "examples": { "validation": { "description": "occurs if any of the input validation fails, it is described in the problem which parameter that failed the validation", "value": "{\r\n \"type\": \"validation\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" } } } } }, "404": { "description": "NotFound", "content": { "application/json": { "examples": { "not-found": { "description": "Resource missing, may have been created on different ledger or have expired", "value": "{\r\n \"type\": \"not-found\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" } } } } }, "409": { "description": "Conflict", "content": { "application/json": { "examples": { "invalid-state": { "description": "PreAuthorizationStatus for targeted resource is invalid for this method", "value": "{\r\n \"type\": \"invalid-state\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" } } } } }, "500": { "description": "InternalServerError", "content": { "application/json": { "examples": { "fatal": { "description": "Unexpected error, logs may give details about the problem", "value": "{\r\n \"type\": \"fatal\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" } } } } } } } }, "/ledger/public-account-transaction/v1/{ownerNo}/pre-authorization": { }, "/ledger/public-account-transaction/v1/{ownerNo}/pre-authorization/account-applications": { }, "/ledger/account-transaction-callback/v1/{ownerNo}/pre-authorizations/{preAuthorizationId}": { }, "/ledger/public-account-transaction/v1/{ownerNo}/pre-authorization/account-applications/kyc-answers": { }, "/ledger/public-account-transaction/v1/{ownerNo}/pre-authorization/account-applications/verify-application": { }, "/ledger/public-account-transaction/v1/{ownerNo}/pre-authorization/limit-upgrade-applications/begin-sign-bankid-no": { }, "/ledger/public-account-transaction/v1/{ownerNo}/pre-authorization/account-applications/begin-sign-bankid-no": { }, "/ledger/public-account-transaction/v1/{ownerNo}/pre-authorization/limit-upgrade-applications/begin-sign-mitid-dk": { }, "/ledger/public-account-transaction/v1/{ownerNo}/pre-authorization/account-applications/begin-sign-mitid-dk": { }, "/ledger/public-account-transaction/v1/{ownerNo}/pre-authorization/limit-upgrade-applications/redirect-kalp-dk": { }, "/ledger/public-account-transaction/v1/{ownerNo}/pre-authorization/account-applications/redirect-kalp-dk": { }, "/ledger/public-account-transaction/v1/{ownerNo}/pre-authorization/limit-upgrade-applications/sign-bankid-se": { }, "/ledger/public-account-transaction/v1/{ownerNo}/pre-authorization/account-applications/sign-bankid-se": { }, "/ledger/public-account-transaction/v1/{ownerNo}/pre-authorization/limit-upgrade-applications/sign-bankid-se/cancel": { }, "/ledger/public-account-transaction/v1/{ownerNo}/pre-authorization/account-applications/sign-bankid-se/cancel": { }, "/ledger/public-account-transaction/v1/{ownerNo}/pre-authorization/limit-upgrade-applications": { }, "/ledger/public-account-transaction/v1/{ownerNo}/pre-authorization/limit-upgrade-applications/sign-bankid-se/extend": { }, "/ledger/public-account-transaction/v1/{ownerNo}/pre-authorization/account-applications/sign-bankid-se/extend": { }, "/ledger/public-account-transaction/v1/{ownerNo}/pre-authorization/limit-upgrade-applications/kyc-answers": { }, "/ledger/public-account-transaction/v1/{ownerNo}/pre-authorization/recurring-card-redirect-registration": { }, "/ledger/public-account-transaction/v1/{ownerNo}/pre-authorization/limit-upgrade-applications/verify-application": { }, "/ledger/public-account-transaction/v1/{ownerNo}/pre-authorization/kyc-questions": { }, "/ledger/public-account-transaction/v1/{ownerNo}/pre-authorization/sign-bankid-se": { }, "/ledger/public-account-transaction/v1/{ownerNo}/pre-authorization/begin-bankid-no-authentication": { }, "/ledger/public-account-transaction/v1/{ownerNo}/pre-authorization/begin-bankid-se-authentication": { }, "/ledger/public-account-transaction/v1/{ownerNo}/pre-authorization/begin-mitid-dk-authentication": { }, "/ledger/public-account-transaction/v1/{ownerNo}/standalone-account-onboarding/{standaloneAccountOnboardingId}/authentication-bankid-se/cancel": { }, "/ledger/public-account-transaction/v1/{ownerNo}/pre-authorization/sign-bankid-se/cancel": { }, "/ledger/public-account-transaction/v1/{ownerNo}/pre-authorization/verify-authentication": { }, "/ledger/public-account-transaction/v1/{ownerNo}/pre-authorization/verify-bankid-no-authentication": { }, "/ledger/public-account-transaction/v1/{ownerNo}/pre-authorization/verify-mitid-dk-authentication": { }, "/ledger/public-account-transaction/v1/{ownerNo}/standalone-account-onboarding/{standaloneAccountOnboardingId}/authentication-bankid-se/extend": { }, "/ledger/public-account-transaction/v1/{ownerNo}/pre-authorization/sign-bankid-se/extend": { }, "/ledger/public-account-transaction/v1/{ownerNo}/pre-authorization/select-payment-option": { }, "/ledger/public-account-transaction/v1/{ownerNo}/pre-authorization/redirect-back": { }, "/ledger/public-account-transaction/v1/{ownerNo}/pre-authorization/cancel": { }, "/ledger/public-account-transaction/v1/{ownerNo}/pre-authorization/kyc-answers": { }, "/ledger/account-transaction/v1/{ownerNo}/authorization-capture-orders": { "post": { "tags": [ "AccountTransaction" ], "summary": "Create authorization-capture-orders", "description": "Create authorization-capture-orders is used to add transaction when user is pre identified.", "parameters": [ { "name": "ownerNo", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/V1.AuthorizationCaptureOrders.AuthorizationCaptureOrdersBase" }, "example": "{\r\n \"captureId\": \"123456\",\r\n \"authorizationId\": 123456789,\r\n \"accountNo\": \"1234\",\r\n \"callbackUrl\": \"https://my.com/callback?543245892u59\",\r\n \"sellerTransactionId\": \"654789312\",\r\n \"authenticationMethod\": \"2FA\",\r\n \"currency\": \"SEK\",\r\n \"amount\": 50.00,\r\n \"pointOfSale\": \"Test shop\"\r\n}" }, "text/json": { "schema": { "$ref": "#/components/schemas/V1.AuthorizationCaptureOrders.AuthorizationCaptureOrdersBase" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/V1.AuthorizationCaptureOrders.AuthorizationCaptureOrdersBase" } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/V1.AuthorizationCaptureOrders.AuthorizationCaptureOrdersResource" }, "examples": { "Created": { "description": "", "value": "{\r\n \"status\": \"pending\",\r\n \"captureId\": \"123456\",\r\n \"authorizationId\": 123456789,\r\n \"accountNo\": \"1234\",\r\n \"callbackUrl\": \"https://my.com/callback?543245892u59\",\r\n \"sellerTransactionId\": \"654789312\",\r\n \"authenticationMethod\": \"2FA\",\r\n \"currency\": \"SEK\",\r\n \"amount\": 50.00,\r\n \"pointOfSale\": \"Test shop\",\r\n \"@id\": \"/ledger/account-transaction/v1/xxx/authorization-capture-orders/123456\",\r\n \"operations\": []\r\n}" } } } } } } } }, "/ledger/account-transaction/v1/{ownerNo}/authorization-capture-orders/{captureId}": { "get": { "tags": [ "AccountTransaction" ], "summary": "Get an existing authorization-capture-orders", "description": "Get an existing authorization-capture-orders. The authorization-capture-orders, is used when adding transactions to users account when user is pre identified.", "operationId": "PayEx.AR.AccountTransaction.Api.Resources.AccountTransaction.V1.AuthorizationCaptureOrders.AuthorizationCaptureOrdersController_Id_GetSingle", "parameters": [ { "name": "ownerNo", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "captureId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/V1.AuthorizationCaptureOrders.AuthorizationCaptureOrdersResource" }, "examples": { "Success Example": { "description": "Response for a successful authorization and capture", "value": "{\r\n \"status\": \"processed\",\r\n \"callbackBody\": {\r\n \"success\": {\r\n \"authorization\": \"/ledger/account-transaction/v1/XXX/authorizations/{authorizationId}\"\r\n }\r\n },\r\n \"captureId\": \"123456\",\r\n \"authorizationId\": 123456789,\r\n \"accountNo\": \"1234\",\r\n \"callbackUrl\": \"https://my.com/callback?543245892u59\",\r\n \"sellerReferenceId\": \"abc-87465123\",\r\n \"sellerTransactionId\": \"654789312\",\r\n \"authenticationMethod\": \"2FA\",\r\n \"currency\": \"SEK\",\r\n \"amount\": 50.00,\r\n \"pointOfSale\": \"Test shop\",\r\n \"operations\": []\r\n}" }, "Error Example": { "description": "Response for a unsuccessful authorization or capture", "value": "{\r\n \"status\": \"processed\",\r\n \"callbackBody\": {\r\n \"fail\": {\r\n \"type\": \"ledger/account-transaction/v1/problems/validation\",\r\n \"title\": \"Not found\",\r\n \"status\": 404,\r\n \"detail\": \"A validation error occurred. Please fix the problems mentioned in the problems property below.\",\r\n \"instance\": \"215d4206-ca35-4f43-85ad-169c8f6d4ec1\"\r\n }\r\n },\r\n \"captureId\": \"123456\",\r\n \"authorizationId\": 123456789,\r\n \"accountNo\": \"1234\",\r\n \"callbackUrl\": \"https://my.com/callback?543245892u59\",\r\n \"sellerReferenceId\": \"abc-87465123\",\r\n \"sellerTransactionId\": \"654789312\",\r\n \"authenticationMethod\": \"2FA\",\r\n \"currency\": \"SEK\",\r\n \"amount\": 50.000,\r\n \"pointOfSale\": \"Test shop\",\r\n \"operations\": []\r\n}" } } } } } } } }, "/ledger/account-transaction/v1/{ownerNo}/authorizations": { "post": { "tags": [ "AccountTransaction" ], "summary": "Create authorization", "description": "Create authorization to see if the account will accept the transaction. When accepted reserves the amount to on the underlying account (may include credit check) and creates the authorization instance. The reservation is time limited, captures will only be excepted until the reservation times out.", "parameters": [ { "name": "ownerNo", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/V1.Authorizations.AuthorizationsRequest" }, "example": "{\r\n \"preAuthorizationId\": \"8c535338-d92c-49e7-90bf-304dbf38e0bd\",\r\n \"authorizationId\": 456789\r\n}" }, "text/json": { "schema": { "$ref": "#/components/schemas/V1.Authorizations.AuthorizationsRequest" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/V1.Authorizations.AuthorizationsRequest" } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/V1.Authorizations.AuthorizationsResource" }, "examples": { "Created": { "description": "Create authorization", "value": "{\r\n \"authorizationId\": 456789,\r\n \"sellerNo\": \"654321\",\r\n \"validToDate\": \"2026-07-09\",\r\n \"authorizationAmount\": 3600.00,\r\n \"remainingAmount\": 3600.00,\r\n \"currency\": \"SEK\",\r\n \"status\": \"Open\",\r\n \"@id\": \"/ledger/account-transaction/v1/xxx/authorizations/456789\",\r\n \"operations\": [\r\n {\r\n \"rel\": \"add-reversal\",\r\n \"method\": \"POST\",\r\n \"href\": \"/ledger/account-transaction/v1/xxx/authorizations/456789/reversals\"\r\n },\r\n {\r\n \"rel\": \"add-capture\",\r\n \"method\": \"POST\",\r\n \"href\": \"/ledger/account-transaction/v1/xxx/authorizations/456789/captures\"\r\n },\r\n {\r\n \"rel\": \"add-cancellation\",\r\n \"method\": \"POST\",\r\n \"href\": \"/ledger/account-transaction/v1/xxx/authorizations/456789/cancellations\"\r\n }\r\n ]\r\n}" } } } } }, "400": { "description": "BadRequest", "content": { "application/json": { "examples": { "validation": { "description": "occurs if any of the input validation fails, it is described in the problem which parameter that failed the validation", "value": "{\r\n \"type\": \"validation\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" } } } } }, "409": { "description": "Conflict", "content": { "application/json": { "examples": { "credit-check-rejected": { "description": "Credit check or extend of credit check was rejected", "value": "{\r\n \"type\": \"credit-check-rejected\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" }, "missing-pre-authorization": { "description": "Resource missing, may have been created on different ledger or have expired", "value": "{\r\n \"type\": \"missing-pre-authorization\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" }, "invalid-account-usage": { "description": "Provided PreAuthorization is invalid for this kind of authorization", "value": "{\r\n \"type\": \"invalid-account-usage\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" }, "amount-exceeds-limit": { "description": "Amount in PreAuthorization is no longer valid for this authorization", "value": "{\r\n \"type\": \"amount-exceeds-limit\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" }, "invalid-state": { "description": "Provided PreAuthorization resource is in a invalid state for this method", "value": "{\r\n \"type\": \"invalid-state\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" }, "identifier-already-in-use": { "description": "AuthorizationId given is already used, provide a new one and try again", "value": "{\r\n \"type\": \"identifier-already-in-use\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" }, "invalid-account-status-exception": { "description": "Unsupported account status", "value": "{\r\n \"type\": \"invalid-account-status-exception\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" } } } } }, "500": { "description": "InternalServerError", "content": { "application/json": { "examples": { "fatal": { "description": "Unexpected error, logs may give details about the problem", "value": "{\r\n \"type\": \"fatal\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" } } } } } } } }, "/ledger/account-transaction/v1/{ownerNo}/authorizations/{authorizationId}": { "get": { "tags": [ "AccountTransaction" ], "summary": "Get an existing authorization", "description": "Get an existing authorization.", "operationId": "PayEx.AR.AccountTransaction.Api.Resources.AccountTransaction.V1.Authorizations.AuthorizationsController_Id_GetSingle", "parameters": [ { "name": "ownerNo", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "authorizationId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/V1.Authorizations.AuthorizationsResource" }, "examples": { "OK": { "description": "Get authorization", "value": "{\r\n \"authorizationId\": 456789,\r\n \"sellerNo\": \"654321\",\r\n \"validToDate\": \"2026-07-09\",\r\n \"authorizationAmount\": 3600.00,\r\n \"remainingAmount\": 3600.00,\r\n \"currency\": \"SEK\",\r\n \"status\": \"Open\",\r\n \"operations\": [\r\n {\r\n \"rel\": \"add-reversal\",\r\n \"method\": \"POST\",\r\n \"href\": \"/ledger/account-transaction/v1/xxx/authorizations/456789/reversals\"\r\n },\r\n {\r\n \"rel\": \"add-capture\",\r\n \"method\": \"POST\",\r\n \"href\": \"/ledger/account-transaction/v1/xxx/authorizations/456789/captures\"\r\n },\r\n {\r\n \"rel\": \"add-cancellation\",\r\n \"method\": \"POST\",\r\n \"href\": \"/ledger/account-transaction/v1/xxx/authorizations/456789/cancellations\"\r\n }\r\n ]\r\n}" } } } } }, "404": { "description": "NotFound", "content": { "application/json": { "examples": { "not-found": { "description": "Found no authorization for provided id on this ledger", "value": "{\r\n \"type\": \"not-found\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" } } } } }, "409": { "description": "Conflict", "content": { "application/json": { "examples": { "invalid-account-usage": { "description": "Provided PreAuthorization is invalid for this kind of authorization", "value": "{\r\n \"type\": \"invalid-account-usage\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" }, "unsupported-claim-level": { "description": "Account unable to accept new transactions", "value": "{\r\n \"type\": \"unsupported-claim-level\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" } } } } }, "500": { "description": "InternalServerError", "content": { "application/json": { "examples": { "fatal": { "description": "Unexpected error, logs may give details about the problem", "value": "{\r\n \"type\": \"fatal\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" } } } } } } } }, "/ledger/account-transaction/v1/{ownerNo}/authorizations/{authorizationId}/captures": { "post": { "tags": [ "AccountTransaction" ], "summary": "Capture for authorization", "description": "Captures part of (or complete) the authorization, includes options for part payment ", "parameters": [ { "name": "ownerNo", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "authorizationId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/V1.Authorizations.Captures.CapturesRequest" }, "example": "{\r\n \"captureId\": \"123456\",\r\n \"sellerTransactionId\": \"654789312\",\r\n \"currency\": \"SEK\",\r\n \"amount\": 3600.00,\r\n \"receiptReference\": \"Meaningful_Reference\"\r\n}" }, "text/json": { "schema": { "$ref": "#/components/schemas/V1.Authorizations.Captures.CapturesRequest" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/V1.Authorizations.Captures.CapturesRequest" } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/V1.Authorizations.Captures.CapturesResponse" }, "examples": { "Created": { "description": "Capture created", "value": "{\r\n \"captureId\": \"123456\",\r\n \"operations\": []\r\n}" } } } } }, "404": { "description": "NotFound", "content": { "application/json": { "examples": { "not-found": { "description": "Resource missing, may have been created on different ledger or have expired", "value": "{\r\n \"type\": \"not-found\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" } } } } }, "400": { "description": "BadRequest", "content": { "application/json": { "examples": { "validation": { "description": "Validation error, response should describe the problem/s", "value": "{\r\n \"type\": \"validation\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" } } } } }, "409": { "description": "Conflict", "content": { "application/json": { "examples": { "currency-not-supported": { "description": "Provided Currency does not match the authorization currency", "value": "{\r\n \"type\": \"currency-not-supported\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" }, "invalid-amount": { "description": "Provided Capture Amount is invalid, likely larger than remaining authorized amount", "value": "{\r\n \"type\": \"invalid-amount\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" }, "identifier-already-in-use": { "description": "Provided Identifier is already in use, probably CaptureTransactionId is not unique", "value": "{\r\n \"type\": \"identifier-already-in-use\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" }, "invalid-account-usage": { "description": "Provided Authorization is invalid for this kind of capture", "value": "{\r\n \"type\": \"invalid-account-usage\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" }, "authorization-expired": { "description": "Provided Authorization is not open or has already expired", "value": "{\r\n \"type\": \"authorization-expired\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" }, "unsupported-claim-level": { "description": "Account unable to accept new transactions", "value": "{\r\n \"type\": \"unsupported-claim-level\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" } } } } }, "500": { "description": "InternalServerError", "content": { "application/json": { "examples": { "fatal": { "description": "Unexpected error, logs may give details about the problem", "value": "{\r\n \"type\": \"fatal\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" } } } } } } } }, "/ledger/account-transaction/v1/{ownerNo}/authorizations/{authorizationId}/reversals": { "post": { "tags": [ "AccountTransaction" ], "summary": "Reversal of a capture", "description": "For reversing a specific capture", "parameters": [ { "name": "ownerNo", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "authorizationId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/V1.Authorizations.Reversals.ReversalsResource" }, "example": "{\r\n \"reversalId\": \"654321\",\r\n \"currency\": \"SEK\",\r\n \"amount\": 512.00,\r\n \"sellerTransactionId\": \"753159\"\r\n}" }, "text/json": { "schema": { "$ref": "#/components/schemas/V1.Authorizations.Reversals.ReversalsResource" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/V1.Authorizations.Reversals.ReversalsResource" } } } }, "responses": { "204": { "description": "No Content", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.Results.RepositoryNoContentResult" } } } }, "404": { "description": "NotFound", "content": { "application/json": { "examples": { "not-found": { "description": "Resource missing, may have been created on different ledger or have expired", "value": "{\r\n \"type\": \"not-found\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" } } } } }, "400": { "description": "BadRequest", "content": { "application/json": { "examples": { "validation": { "description": "Validation error, response should describe the problem/s", "value": "{\r\n \"type\": \"validation\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" } } } } }, "409": { "description": "Conflict", "content": { "application/json": { "examples": { "currency-not-supported": { "description": "Provided Currency does not match the authorization currency", "value": "{\r\n \"type\": \"currency-not-supported\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" }, "invalid-amount": { "description": "Provided Reversal Amount is invalid, likely larger than remaining captured amount", "value": "{\r\n \"type\": \"invalid-amount\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" }, "identifier-already-in-use": { "description": "Provided Identifier is already in use, probably ReversalTransactionId is not unique", "value": "{\r\n \"type\": \"identifier-already-in-use\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" }, "invalid-account-usage": { "description": "Provided Authorization is invalid for this kind of reversal", "value": "{\r\n \"type\": \"invalid-account-usage\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" }, "invalid-account-relation": { "description": "Provided information relates to different accounts", "value": "{\r\n \"type\": \"invalid-account-relation\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" }, "invalid-account-status-exception": { "description": "Unsupported account status", "value": "{\r\n \"type\": \"invalid-account-status-exception\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" } } } } }, "500": { "description": "InternalServerError", "content": { "application/json": { "examples": { "fatal": { "description": "Unexpected error, logs may give details about the problem", "value": "{\r\n \"type\": \"fatal\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" } } } } } } } }, "/ledger/account-transaction/v1/{ownerNo}/authorizations/{authorizationId}/cancellations": { "post": { "tags": [ "AccountTransaction" ], "summary": "Cancellation of a authorization", "description": "This operation will cancel the specified authorization", "parameters": [ { "name": "ownerNo", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "authorizationId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "responses": { "204": { "description": "No Content", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.Results.RepositoryNoContentResult" } } } }, "404": { "description": "NotFound", "content": { "application/json": { "examples": { "missing-pre-authorization": { "description": "Resource missing, may have been created on different ledger or have expired", "value": "{\r\n \"type\": \"missing-pre-authorization\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" } } } } }, "409": { "description": "Conflict", "content": { "application/json": { "examples": { "invalid-account-usage": { "description": "Provided Authorization is invalid for this kind of authorization", "value": "{\r\n \"type\": \"invalid-account-usage\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" }, "authorization-expired": { "description": "Provided Authorization is not open or has already expired", "value": "{\r\n \"type\": \"authorization-expired\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" } } } } }, "500": { "description": "InternalServerError", "content": { "application/json": { "examples": { "fatal": { "description": "Unexpected error, logs may give details about the problem", "value": "{\r\n \"type\": \"fatal\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" } } } } } } } }, "/ledger/account-transaction/v1/{ownerNo}/split-authorizations": { "post": { "tags": [ "AccountTransaction" ], "summary": "Create split-authorization", "description": "Create split-authorization to see if the account will accept the transaction. When accepted reserves the amount to on the underlying account (may include credit check) and creates the authorization instance. The reservation is time limited, captures will only be excepted until the reservation times out. The 'split' authorization, is used when each product has a separate part payment that should be portioned out according to instruction.", "parameters": [ { "name": "ownerNo", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/V1.SplitAuthorizations.SplitAuthorizationsRequest" }, "example": "{\r\n \"preAuthorizationId\": \"8c535338-d92c-49e7-90bf-304dbf38e0bd\",\r\n \"authorizationId\": 456789\r\n}" }, "text/json": { "schema": { "$ref": "#/components/schemas/V1.SplitAuthorizations.SplitAuthorizationsRequest" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/V1.SplitAuthorizations.SplitAuthorizationsRequest" } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/V1.SplitAuthorizations.SplitAuthorizationsResource" }, "examples": { "Created": { "description": "Create Split authorization", "value": "{\r\n \"authorizationId\": 456789,\r\n \"sellerNo\": \"654321\",\r\n \"validToDate\": \"2026-07-16\",\r\n \"authorizationAmount\": 3600.00,\r\n \"remainingAmount\": 3600.00,\r\n \"currency\": \"SEK\",\r\n \"status\": \"Open\",\r\n \"@id\": \"/ledger/account-transaction/v1/xxx/split-authorizations/456789\",\r\n \"operations\": [\r\n {\r\n \"rel\": \"add-capture\",\r\n \"method\": \"POST\",\r\n \"href\": \"/ledger/account-transaction/v1/xxx/split-authorizations/456789/captures\"\r\n },\r\n {\r\n \"rel\": \"add-cancellation\",\r\n \"method\": \"POST\",\r\n \"href\": \"/ledger/account-transaction/v1/xxx/split-authorizations/456789/cancellations\"\r\n }\r\n ]\r\n}" } } } } }, "400": { "description": "BadRequest", "content": { "application/json": { "examples": { "validation": { "description": "occurs if any of the input validation fails, it is described in the problem which parameter that failed the validation", "value": "{\r\n \"type\": \"validation\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" } } } } }, "409": { "description": "Conflict", "content": { "application/json": { "examples": { "credit-check-rejected": { "description": "Credit check or extend of credit check was rejected", "value": "{\r\n \"type\": \"credit-check-rejected\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" }, "missing-pre-authorization": { "description": "Resource missing, may have been created on different ledger or have expired", "value": "{\r\n \"type\": \"missing-pre-authorization\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" }, "invalid-account-usage": { "description": "Provided PreAuthorization is invalid for this kind of authorization", "value": "{\r\n \"type\": \"invalid-account-usage\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" }, "invalid-state": { "description": "Provided PreAuthorization resource is in a invalid state for this method", "value": "{\r\n \"type\": \"invalid-state\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" }, "identifier-already-in-use": { "description": "AuthorizationId given is already used, provide a new one and try again", "value": "{\r\n \"type\": \"identifier-already-in-use\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" } } } } }, "500": { "description": "InternalServerError", "content": { "application/json": { "examples": { "fatal": { "description": "Unexpected error, logs may give details about the problem", "value": "{\r\n \"type\": \"fatal\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" } } } } } } } }, "/ledger/account-transaction/v1/{ownerNo}/split-authorizations/{authorizationId}": { "get": { "tags": [ "AccountTransaction" ], "summary": "Get an existing split-authorization", "description": "Get an existing split-authorization. The split - authorization, is used when each product has a separate part payment that should be portioned out according to instruction.", "operationId": "PayEx.AR.AccountTransaction.Api.Resources.AccountTransaction.V1.SplitAuthorizations.SplitAuthorizationsController_Id_GetSingle", "parameters": [ { "name": "ownerNo", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "authorizationId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/V1.SplitAuthorizations.SplitAuthorizationsResource" }, "examples": { "OK": { "description": "Get Split authorization resource. Operations can vary based of state of resource", "value": "{\r\n \"authorizationId\": 456789,\r\n \"sellerNo\": \"654321\",\r\n \"validToDate\": \"2026-07-16\",\r\n \"authorizationAmount\": 3600.00,\r\n \"remainingAmount\": 3600.00,\r\n \"currency\": \"SEK\",\r\n \"status\": \"Open\",\r\n \"operations\": [\r\n {\r\n \"rel\": \"add-capture\",\r\n \"method\": \"POST\",\r\n \"href\": \"/ledger/account-transaction/v1/xxx/split-authorizations/456789/captures\"\r\n },\r\n {\r\n \"rel\": \"add-cancellation\",\r\n \"method\": \"POST\",\r\n \"href\": \"/ledger/account-transaction/v1/xxx/split-authorizations/456789/cancellations\"\r\n }\r\n ]\r\n}" } } } } }, "404": { "description": "NotFound", "content": { "application/json": { "examples": { "not-found": { "description": "Found no authorization for provided id on this ledger", "value": "{\r\n \"type\": \"not-found\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" } } } } }, "500": { "description": "InternalServerError", "content": { "application/json": { "examples": { "fatal": { "description": "Unexpected error, logs may give details about the problem", "value": "{\r\n \"type\": \"fatal\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" } } } } } } } }, "/ledger/account-transaction/v1/{ownerNo}/split-authorizations/{authorizationId}/captures": { "post": { "tags": [ "AccountTransaction" ], "summary": "Capture for split-authorization", "description": "Captures part of (or complete) the split-authorization, includes options for part payment ", "parameters": [ { "name": "ownerNo", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "authorizationId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/V1.SplitAuthorizations.Captures.CapturesRequest" }, "example": "{\r\n \"captureId\": \"123456\",\r\n \"sellerTransactionId\": \"654789312\",\r\n \"currency\": \"SEK\",\r\n \"monthlyBillingAmount\": 300,\r\n \"months\": 12,\r\n \"totalAmount\": 3600.00,\r\n \"productName\": \"Purchase ref: 233445\"\r\n}" }, "text/json": { "schema": { "$ref": "#/components/schemas/V1.SplitAuthorizations.Captures.CapturesRequest" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/V1.SplitAuthorizations.Captures.CapturesRequest" } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/V1.SplitAuthorizations.Captures.CapturesResponse" }, "examples": { "Created": { "description": "Capture created", "value": "{\r\n \"captureId\": \"123456\",\r\n \"operations\": [\r\n {\r\n \"rel\": \"add-reversal\",\r\n \"method\": \"POST\",\r\n \"href\": \"/ledger/account-transaction/v1/xxx/split-authorizations/123/captures/123456/reversals\"\r\n }\r\n ]\r\n}" } } } } }, "400": { "description": "BadRequest", "content": { "application/json": { "examples": { "validation": { "description": "occurs if any of the input validation fails, it is described in the problem which parameter that failed the validation", "value": "{\r\n \"type\": \"validation\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" } } } } }, "404": { "description": "NotFound", "content": { "application/json": { "examples": { "not-found": { "description": "Found no authorization for provided id on this ledger", "value": "{\r\n \"type\": \"not-found\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" } } } } }, "409": { "description": "Conflict", "content": { "application/json": { "examples": { "authorization-expired": { "description": "ValidToDate on this authorize has expired, see details for more information", "value": "{\r\n \"type\": \"authorization-expired\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" }, "invalid-amount": { "description": "See details to get more information about the error", "value": "{\r\n \"type\": \"invalid-amount\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" }, "currency-not-supported": { "description": "Currency not valid for this Capture, see details for more information", "value": "{\r\n \"type\": \"currency-not-supported\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" }, "identifier-already-in-use": { "description": "CaptureId given is already used, provide a new one and try again", "value": "{\r\n \"type\": \"identifier-already-in-use\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" } } } } }, "500": { "description": "InternalServerError", "content": { "application/json": { "examples": { "fatal": { "description": "Unexpected error, logs may give details about the problem", "value": "{\r\n \"type\": \"fatal\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" } } } } } } } }, "/ledger/account-transaction/v1/{ownerNo}/split-authorizations/{authorizationId}/cancellations": { "post": { "tags": [ "AccountTransaction" ], "summary": "Cancellation of a split-authorization", "description": "This operation will cancel the specified split-authorization", "parameters": [ { "name": "ownerNo", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "authorizationId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "responses": { "204": { "description": "No Content", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.Results.RepositoryNoContentResult" } }, "application/json": { "schema": { "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.Results.RepositoryNoContentResult" } }, "text/json": { "schema": { "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.Results.RepositoryNoContentResult" } } } }, "404": { "description": "NotFound", "content": { "application/json": { "examples": { "not-found": { "description": "Found no authorization for provided id on this ledger", "value": "{\r\n \"type\": \"not-found\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" } } } } }, "500": { "description": "InternalServerError", "content": { "application/json": { "examples": { "fatal": { "description": "Unexpected error, logs may give details about the problem", "value": "{\r\n \"type\": \"fatal\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" } } } } } } } }, "/ledger/account-transaction/v1/{ownerNo}/split-authorizations/{authorizationId}/captures/{captureId}/reversals": { "post": { "tags": [ "AccountTransaction" ], "summary": "Reversal of a capture", "description": "For reversing a specific capture", "parameters": [ { "name": "ownerNo", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "authorizationId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } }, { "name": "captureId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/V1.SplitAuthorizations.Captures.Reversals.ReversalsResource" }, "example": "{\r\n \"reversalId\": \"abcdefg123\",\r\n \"currency\": \"SEK\",\r\n \"amount\": 512.00,\r\n \"sellerTransactionId\": \"123456\"\r\n}" }, "text/json": { "schema": { "$ref": "#/components/schemas/V1.SplitAuthorizations.Captures.Reversals.ReversalsResource" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/V1.SplitAuthorizations.Captures.Reversals.ReversalsResource" } } } }, "responses": { "204": { "description": "No Content", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.Results.RepositoryNoContentResult" } } } }, "400": { "description": "BadRequest", "content": { "application/json": { "examples": { "validation": { "description": "occurs if any of the input validation fails, it is described in the problem which parameter that failed the validation", "value": "{\r\n \"type\": \"validation\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" } } } } }, "404": { "description": "NotFound", "content": { "application/json": { "examples": { "not-found": { "description": "Found no authorization for provided id on this ledger", "value": "{\r\n \"type\": \"not-found\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" } } } } }, "409": { "description": "Conflict", "content": { "application/json": { "examples": { "invalid-amount": { "description": "See details to get more information about the error", "value": "{\r\n \"type\": \"invalid-amount\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" }, "currency-not-supported": { "description": "Currency not valid for this Reversal, see details for more information", "value": "{\r\n \"type\": \"currency-not-supported\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" }, "identifier-already-in-use": { "description": "ReversalId given is already used, provide a new one and try again", "value": "{\r\n \"type\": \"identifier-already-in-use\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" } } } } }, "500": { "description": "InternalServerError", "content": { "application/json": { "examples": { "fatal": { "description": "Unexpected error, logs may give details about the problem", "value": "{\r\n \"type\": \"fatal\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" } } } } } } } }, "/ledger/account-transaction/v1/{ownerNo}/account-applications": { "post": { "tags": [ "AccountTransaction" ], "summary": "Create account-application", "description": "Create account-application is used when applying for new account. the application process may include signing and credit check", "parameters": [ { "name": "ownerNo", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/V1.AccountApplications.AccountApplicationsBase" }, "example": "{\r\n \"accountApplicationId\": \"YYY\",\r\n \"redirectUrl\": \"https://ledger-apps.payex.com/ledger/public-account-transaction/v1/XXX/pre-authorization/8c535338-d92c-49e7-90bf-304dbf38e0bd\",\r\n \"customer\": {\r\n \"nationalConsumerIdentifier\": {\r\n \"value\": \"19101010-1010\",\r\n \"countryCode\": \"SE\"\r\n },\r\n \"email\": \"a@b.c\",\r\n \"msisdn\": \"46123456\",\r\n \"customerNo\": \"1234\"\r\n },\r\n \"profileName\": \"myProfileName\",\r\n \"creditLimit\": 5000.00,\r\n \"currency\": \"SEK\",\r\n \"returnUrl\": \"https://webconsumerexample.se/consumerweb\",\r\n \"redirectOptions\": {\r\n \"nativeAppSwitchingUrl\": \"myApp\",\r\n \"languageCode\": \"sv\"\r\n },\r\n \"operations\": []\r\n}" }, "text/json": { "schema": { "$ref": "#/components/schemas/V1.AccountApplications.AccountApplicationsBase" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/V1.AccountApplications.AccountApplicationsBase" } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/V1.AccountApplications.AccountApplicationsResource" }, "examples": { "Created": { "description": "Post Account Application", "value": "{\r\n \"accountApplicationId\": \"YYY\",\r\n \"redirectUrl\": \"https://ledger-apps.payex.com/ledger/public-account-transaction/v1/XXX/pre-authorization/8c535338-d92c-49e7-90bf-304dbf38e0bd\",\r\n \"customer\": {\r\n \"nationalConsumerIdentifier\": {\r\n \"value\": \"19101010-1010\",\r\n \"countryCode\": \"SE\"\r\n },\r\n \"email\": \"a@b.c\",\r\n \"msisdn\": \"46123456\",\r\n \"customerNo\": \"1234\"\r\n },\r\n \"profileName\": \"myProfileName\",\r\n \"creditLimit\": 5000.00,\r\n \"currency\": \"SEK\",\r\n \"returnUrl\": \"https://webconsumerexample.se/consumerweb\",\r\n \"redirectOptions\": {\r\n \"nativeAppSwitchingUrl\": \"myApp\",\r\n \"languageCode\": \"sv\"\r\n },\r\n \"@id\": \"/ledger/account-transaction/v1/xxx/account-applications/yyy\",\r\n \"operations\": []\r\n}" } } } } }, "409": { "description": "Conflict", "content": { "application/json": { "examples": { "account-already-exist": { "description": "Occurs if a account already exists.", "value": "{\r\n \"type\": \"account-already-exist\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" } } } } } } } }, "/ledger/account-transaction/v1/{ownerNo}/account-applications/{accountApplicationId}": { "get": { "tags": [ "AccountTransaction" ], "summary": "Get an existing account-application", "description": "Get an existing account-application. The account - application, is used when applying for new account.", "operationId": "PayEx.AR.AccountTransaction.Api.Resources.AccountTransaction.V1.AccountApplications.AccountApplicationsController_Id_GetSingle", "parameters": [ { "name": "ownerNo", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "accountApplicationId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/V1.AccountApplications.AccountApplicationsResource" }, "examples": { "OK": { "description": "Get Account Application", "value": "{\r\n \"accountApplicationId\": \"YYY\",\r\n \"redirectUrl\": \"https://ledger-apps.payex.com/ledger/public-account-transaction/v1/XXX/pre-authorization/8c535338-d92c-49e7-90bf-304dbf38e0bd\",\r\n \"customer\": {\r\n \"nationalConsumerIdentifier\": {\r\n \"value\": \"19101010-1010\",\r\n \"countryCode\": \"SE\"\r\n },\r\n \"email\": \"a@b.c\",\r\n \"msisdn\": \"46123456\",\r\n \"customerNo\": \"1234\"\r\n },\r\n \"profileName\": \"myProfileName\",\r\n \"creditLimit\": 5000.00,\r\n \"currency\": \"SEK\",\r\n \"returnUrl\": \"https://webconsumerexample.se/consumerweb\",\r\n \"redirectOptions\": {\r\n \"nativeAppSwitchingUrl\": \"myApp\",\r\n \"languageCode\": \"sv\"\r\n },\r\n \"operations\": []\r\n}" } } } } } } } }, "/ledger/account-transaction/v1/{ownerNo}/limit-upgrade-applications": { "post": { "tags": [ "AccountTransaction" ], "summary": "Create limit-upgrade-application", "description": "Create limit-upgrade-application is used when applying for upgrading limit on existing credit account. The application process may include signing and credit check", "parameters": [ { "name": "ownerNo", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/V1.LimitUpgradeApplications.LimitUpgradeApplicationsBase" }, "example": "{\r\n \"limitUpgradeApplicationId\": \"YYY\",\r\n \"redirectUrl\": \"https://ledger-apps.payex.com/ledger/public-account-transaction/v1/XXX/pre-authorization/8c535338-d92c-49e7-90bf-304dbf38e0bd\",\r\n \"accountNo\": \"12345\",\r\n \"customerNo\": \"54321\",\r\n \"creditLimit\": 5000.00,\r\n \"currency\": \"SEK\",\r\n \"returnUrl\": \"https://webconsumerexample.se/consumerweb\",\r\n \"redirectOptions\": {\r\n \"nativeAppSwitchingUrl\": \"myApp\",\r\n \"languageCode\": \"sv\"\r\n },\r\n \"operations\": []\r\n}" }, "text/json": { "schema": { "$ref": "#/components/schemas/V1.LimitUpgradeApplications.LimitUpgradeApplicationsBase" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/V1.LimitUpgradeApplications.LimitUpgradeApplicationsBase" } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/V1.LimitUpgradeApplications.LimitUpgradeApplicationsResource" }, "examples": { "Created": { "description": "Post Limit Upgrade Application", "value": "{\r\n \"limitUpgradeApplicationId\": \"YYY\",\r\n \"redirectUrl\": \"https://ledger-apps.payex.com/ledger/public-account-transaction/v1/XXX/pre-authorization/8c535338-d92c-49e7-90bf-304dbf38e0bd\",\r\n \"accountNo\": \"12345\",\r\n \"customerNo\": \"54321\",\r\n \"creditLimit\": 5000.00,\r\n \"currency\": \"SEK\",\r\n \"returnUrl\": \"https://webconsumerexample.se/consumerweb\",\r\n \"redirectOptions\": {\r\n \"nativeAppSwitchingUrl\": \"myApp\",\r\n \"languageCode\": \"sv\"\r\n },\r\n \"@id\": \"/ledger/account-transaction/v1/xxx/limit-upgrade-applications/yyy\",\r\n \"operations\": []\r\n}" } } } } }, "404": { "description": "NotFound", "content": { "application/json": { "examples": { "account-not-found": { "description": "Occurs if the account is not found.", "value": "{\r\n \"type\": \"account-not-found\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" } } } } } } } }, "/ledger/account-transaction/v1/{ownerNo}/limit-upgrade-applications/{limitUpgradeApplicationId}": { "get": { "tags": [ "AccountTransaction" ], "summary": "Get an existing limit-upgrade-application", "description": "Get an existing limit-upgrade-application. The limit - upgrade - application, is used for upgrading limit on existing credit account.", "operationId": "PayEx.AR.AccountTransaction.Api.Resources.AccountTransaction.V1.LimitUpgradeApplications.LimitUpgradeApplicationsController_Id_GetSingle", "parameters": [ { "name": "ownerNo", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "limitUpgradeApplicationId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/V1.LimitUpgradeApplications.LimitUpgradeApplicationsResource" }, "examples": { "OK": { "description": "Get Limit Upgrade Application", "value": "{\r\n \"limitUpgradeApplicationId\": \"YYY\",\r\n \"redirectUrl\": \"https://ledger-apps.payex.com/ledger/public-account-transaction/v1/XXX/pre-authorization/8c535338-d92c-49e7-90bf-304dbf38e0bd\",\r\n \"accountNo\": \"12345\",\r\n \"customerNo\": \"54321\",\r\n \"creditLimit\": 5000.00,\r\n \"currency\": \"SEK\",\r\n \"returnUrl\": \"https://webconsumerexample.se/consumerweb\",\r\n \"redirectOptions\": {\r\n \"nativeAppSwitchingUrl\": \"myApp\",\r\n \"languageCode\": \"sv\"\r\n },\r\n \"operations\": []\r\n}" } } } } } } } } }, "components": { "schemas": { "PayEx.AR.AccountTransaction.Api.Business.Entity.Currency": { "enum": [ "None", "SEK", "NOK", "DKK", "EUR" ], "type": "string" }, "PayEx.AR.AccountTransaction.Api.Business.Entity.PreAuthorizationStatus": { "enum": [ "Initialized", "Failed", "ReadyForAuthorization", "Completed", "Rejected" ], "type": "string" }, "PayEx.AR.AccountTransaction.Api.Business.Entity.Status": { "enum": [ "None", "Open", "Closed", "Cancelled" ], "type": "string" }, "PayEx.LF.Api.Common.RepositoryResources.IOperation": { "type": "object", "properties": { "rel": { "type": "string", "nullable": true, "readOnly": true }, "method": { "type": "string", "nullable": true, "readOnly": true }, "href": { "type": "string", "nullable": true } }, "additionalProperties": false }, "PayEx.LF.Api.Common.RepositoryResources.Results.RepositoryNoContentResult": { "type": "object", "additionalProperties": false }, "V1.AccountApplications.AccountApplicationsBase": { "required": [ "creditLimit", "currency", "customer", "profileName", "redirectOptions", "returnUrl" ], "type": "object", "properties": { "@id": { "type": "string", "nullable": true }, "customer": { "$ref": "#/components/schemas/V1.AccountApplications.Customer" }, "profileName": { "minLength": 1, "type": "string", "description": "The profilename of the account to create" }, "creditLimit": { "maximum": 100000000, "minimum": 0, "type": "number", "description": "The amount of the credit limit on the account applied for, can't have more than 2 decimal places", "format": "double" }, "currency": { "$ref": "#/components/schemas/PayEx.AR.AccountTransaction.Api.Business.Entity.Currency" }, "returnUrl": { "minLength": 1, "type": "string", "description": "Url to return the end user to after process is completed" }, "redirectOptions": { "$ref": "#/components/schemas/V1.AccountApplications.RedirectOptions" } }, "additionalProperties": false }, "V1.AccountApplications.AccountApplicationsResource": { "required": [ "creditLimit", "currency", "customer", "profileName", "redirectOptions", "returnUrl" ], "type": "object", "properties": { "@id": { "type": "string", "nullable": true }, "customer": { "$ref": "#/components/schemas/V1.AccountApplications.Customer" }, "profileName": { "minLength": 1, "type": "string", "description": "The profilename of the account to create" }, "creditLimit": { "maximum": 100000000, "minimum": 0, "type": "number", "description": "The amount of the credit limit on the account applied for, can't have more than 2 decimal places", "format": "double" }, "currency": { "$ref": "#/components/schemas/PayEx.AR.AccountTransaction.Api.Business.Entity.Currency" }, "returnUrl": { "minLength": 1, "type": "string", "description": "Url to return the end user to after process is completed" }, "redirectOptions": { "$ref": "#/components/schemas/V1.AccountApplications.RedirectOptions" }, "accountApplicationId": { "type": "string", "description": "Unique identifier of the account-application.", "nullable": true }, "redirectUrl": { "type": "string", "description": "Web uri pointing to the application flow that the user should be redirected to.", "nullable": true }, "specialIntent": { "type": "string", "description": "Special intent for the application, e.g. 'standalone-account-onboarding'.", "nullable": true }, "operations": { "type": "array", "items": { "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.IOperation" }, "nullable": true } }, "additionalProperties": false }, "V1.AccountApplications.Customer": { "required": [ "nationalConsumerIdentifier" ], "type": "object", "properties": { "nationalConsumerIdentifier": { "$ref": "#/components/schemas/V1.AccountApplications.NationalConsumerIdentifier" }, "email": { "maxLength": 254, "minLength": 5, "pattern": "^[^;\\xA0\\xD0\\─@<>\\p{Cc}]+@(?!\\.)(?!.*\\.\\.)(?:[^;\\xA0\\xD0\\─@<>\\p{Cc}]+\\.[^;\\xA0\\xD0\\─@<>\\p{Cc}]+|\\[[A-Fa-f\\d\\:]+\\])(?>url:https://sv.wikipedia.org/wiki/ISO_3166]]", "nullable": true } }, "additionalProperties": false }, "V1.AccountApplications.RedirectOptions": { "required": [ "languageCode" ], "type": "object", "properties": { "nativeAppSwitchingUrl": { "type": "string", "description": "Uri pointing to app, used to switch back to app from bankId", "nullable": true }, "autostartAction": { "type": "string", "description": "Used to automatically start bankId application. Possible actions (null|se-bankid-this-device)", "nullable": true }, "languageCode": { "minLength": 1, "type": "string", "description": "Used to set desired language in the authenticate/onboarding web. Possible languageCodes (SV|EN)" } }, "additionalProperties": false }, "V1.AuthorizationCaptureOrders.AuthorizationCaptureOrderStatus": { "enum": [ "pending", "processed" ], "type": "string" }, "V1.AuthorizationCaptureOrders.AuthorizationCaptureOrdersBase": { "required": [ "accountNo", "amount", "authenticationMethod", "authorizationId", "captureId", "currency", "sellerNo", "sellerReferenceId", "sellerTransactionId" ], "type": "object", "properties": { "@id": { "type": "string", "nullable": true }, "captureId": { "maxLength": 50, "minLength": 1, "pattern": "^[a-zA-Z0-9#_:@.\\-åäöÅÄÖ]{1,}$", "type": "string", "description": "Identifier of the capture, must be unique for all types of captures within the ledger" }, "authorizationId": { "type": "integer", "description": "Identifier of the authorization, must be unique for all types of authorizations within the ledger", "format": "int64" }, "accountNo": { "maxLength": 50, "minLength": 0, "type": "string", "description": "The identifier of the account" }, "callbackUrl": { "type": "string", "description": "If callback should be done on status change, it is done to the callback url. If empty no callback is done.", "nullable": true }, "sellerNo": { "minLength": 1, "type": "string", "description": "The seller identifier at payex" }, "sellerReferenceId": { "maxLength": 50, "minLength": 1, "pattern": "^[a-zA-Z0-9#_:@.\\-åäöÅÄÖ]{1,}$", "type": "string", "description": "Sellers reference id, usually the order id of the purchase / consistent for all captures/deliveries." }, "sellerTransactionId": { "maxLength": 50, "minLength": 1, "pattern": "^[a-zA-Z0-9#_:@.\\-åäöÅÄÖ]{1,}$", "type": "string", "description": "The sellers identifier of the capture/transaction, usually the receipt reference" }, "authenticationMethod": { "minLength": 1, "type": "string", "description": "Authentication method used to identify the user. Possible values 1FA (one factor),2FA (two factor) ,3FA (three factor)" }, "currency": { "$ref": "#/components/schemas/PayEx.AR.AccountTransaction.Api.Business.Entity.Currency" }, "amount": { "maximum": 100000000, "minimum": 0.01, "type": "number", "description": "The amount of the authorization capture order, can't have more than 2 decimal places.", "format": "double" }, "pointOfSale": { "type": "string", "description": "Trade name of the point of sale. Will be displayed to end customer. Only use if agreed with provider of the API.", "nullable": true } }, "additionalProperties": false }, "V1.AuthorizationCaptureOrders.AuthorizationCaptureOrdersResource": { "required": [ "accountNo", "amount", "authenticationMethod", "authorizationId", "captureId", "currency", "sellerNo", "sellerReferenceId", "sellerTransactionId" ], "type": "object", "properties": { "@id": { "type": "string", "nullable": true }, "captureId": { "maxLength": 50, "minLength": 1, "pattern": "^[a-zA-Z0-9#_:@.\\-åäöÅÄÖ]{1,}$", "type": "string", "description": "Identifier of the capture, must be unique for all types of captures within the ledger" }, "authorizationId": { "type": "integer", "description": "Identifier of the authorization, must be unique for all types of authorizations within the ledger", "format": "int64" }, "accountNo": { "maxLength": 50, "minLength": 0, "type": "string", "description": "The identifier of the account" }, "callbackUrl": { "type": "string", "description": "If callback should be done on status change, it is done to the callback url. If empty no callback is done.", "nullable": true }, "sellerNo": { "minLength": 1, "type": "string", "description": "The seller identifier at payex" }, "sellerReferenceId": { "maxLength": 50, "minLength": 1, "pattern": "^[a-zA-Z0-9#_:@.\\-åäöÅÄÖ]{1,}$", "type": "string", "description": "Sellers reference id, usually the order id of the purchase / consistent for all captures/deliveries." }, "sellerTransactionId": { "maxLength": 50, "minLength": 1, "pattern": "^[a-zA-Z0-9#_:@.\\-åäöÅÄÖ]{1,}$", "type": "string", "description": "The sellers identifier of the capture/transaction, usually the receipt reference" }, "authenticationMethod": { "minLength": 1, "type": "string", "description": "Authentication method used to identify the user. Possible values 1FA (one factor),2FA (two factor) ,3FA (three factor)" }, "currency": { "$ref": "#/components/schemas/PayEx.AR.AccountTransaction.Api.Business.Entity.Currency" }, "amount": { "maximum": 100000000, "minimum": 0.01, "type": "number", "description": "The amount of the authorization capture order, can't have more than 2 decimal places.", "format": "double" }, "pointOfSale": { "type": "string", "description": "Trade name of the point of sale. Will be displayed to end customer. Only use if agreed with provider of the API.", "nullable": true }, "status": { "$ref": "#/components/schemas/V1.AuthorizationCaptureOrders.AuthorizationCaptureOrderStatus" }, "callbackBody": { "$ref": "#/components/schemas/V1.AuthorizationCaptureOrders.CallBackBody" }, "operations": { "type": "array", "items": { "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.IOperation" }, "nullable": true } }, "additionalProperties": false }, "V1.AuthorizationCaptureOrders.CallBackBody": { "type": "object", "properties": { "success": { "$ref": "#/components/schemas/V1.AuthorizationCaptureOrders.CallbackSuccess" }, "fail": { "description": "Problem definition of the authorization capture transaction. See problem section.", "nullable": true } }, "additionalProperties": false }, "V1.AuthorizationCaptureOrders.CallbackSuccess": { "type": "object", "properties": { "authorization": { "type": "string", "description": "Uri to the created authorizarion.", "nullable": true } }, "additionalProperties": false }, "V1.Authorizations.AuthorizationsRequest": { "required": [ "authorizationId", "preAuthorizationId" ], "type": "object", "properties": { "preAuthorizationId": { "minLength": 1, "type": "string", "description": "Identifier of the existing pre-authorization" }, "authorizationId": { "minimum": 1, "type": "integer", "description": "Identifier of the authorization, must be unique for all types of authorizations within the ledger", "format": "int64" } }, "additionalProperties": false }, "V1.Authorizations.AuthorizationsResource": { "required": [ "authorizationAmount", "authorizationId", "currency", "remainingAmount", "sellerNo", "status", "validToDate" ], "type": "object", "properties": { "@id": { "type": "string", "nullable": true }, "authorizationId": { "type": "integer", "description": "Identifier of the authorization, must be unique for all types of authorizations within the ledger", "format": "int64" }, "sellerNo": { "minLength": 1, "type": "string", "description": "The seller identifier at payex" }, "validToDate": { "minLength": 1, "type": "string", "description": "The authorization is valid for captures until this date. Format 'YYYY-MM-DD'" }, "authorizationAmount": { "maximum": 100000000, "minimum": 0.01, "type": "number", "description": "The original authorized amount", "format": "double" }, "remainingAmount": { "type": "number", "description": "The remaining amount on the authorization available for capture", "format": "double" }, "currency": { "$ref": "#/components/schemas/PayEx.AR.AccountTransaction.Api.Business.Entity.Currency" }, "status": { "$ref": "#/components/schemas/PayEx.AR.AccountTransaction.Api.Business.Entity.Status" }, "operations": { "type": "array", "items": { "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.IOperation" }, "nullable": true } }, "additionalProperties": false }, "V1.Authorizations.Captures.CapturesRequest": { "required": [ "amount", "captureId", "currency", "sellerTransactionId" ], "type": "object", "properties": { "captureId": { "maxLength": 50, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-]{1,}$", "type": "string", "description": "Identifier of the capture, must be unique for all types of captures within the ledger" }, "sellerTransactionId": { "maxLength": 50, "minLength": 1, "pattern": "^[a-zA-Z0-9#_:@.\\-åäöÅÄÖ]{1,}$", "type": "string", "description": "The sellers identifier of the capture/transaction, usually the receipt reference" }, "currency": { "$ref": "#/components/schemas/PayEx.AR.AccountTransaction.Api.Business.Entity.Currency" }, "amount": { "maximum": 100000000, "minimum": 0.01, "type": "number", "description": "The total amount.", "format": "double" }, "receiptReference": { "maxLength": 30, "minLength": 0, "pattern": "^[a-zA-Z0-9#_:@.\\-]{1,}$", "type": "string", "description": "A receipt reference meaningful for the consumer.", "nullable": true } }, "additionalProperties": false }, "V1.Authorizations.Captures.CapturesResponse": { "type": "object", "properties": { "@id": { "type": "string", "nullable": true }, "captureId": { "type": "string", "description": "Identifier of the capture, must be unique for all types of captures within the ledger", "nullable": true }, "operations": { "type": "array", "items": { "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.IOperation" }, "nullable": true } }, "additionalProperties": false }, "V1.Authorizations.Reversals.ReversalsResource": { "required": [ "amount", "currency", "reversalId", "sellerTransactionId" ], "type": "object", "properties": { "@id": { "type": "string", "nullable": true }, "reversalId": { "maxLength": 50, "minLength": 1, "pattern": "^[a-zA-Z0-9#_:@.\\-åäöÅÄÖ]{1,}$", "type": "string", "description": "Identifier of the reversal, must be unique for all types of captures within the ledger" }, "currency": { "$ref": "#/components/schemas/PayEx.AR.AccountTransaction.Api.Business.Entity.Currency" }, "amount": { "maximum": 100000000, "minimum": 0.01, "type": "number", "description": "Amount to reverse", "format": "double" }, "receiptReference": { "maxLength": 30, "minLength": 0, "pattern": "^[a-zA-Z0-9#_:@.\\-]{1,}$", "type": "string", "description": "A receipt reference meaningful for the consumer.", "nullable": true }, "sellerTransactionId": { "maxLength": 50, "minLength": 1, "pattern": "^[a-zA-Z0-9#_:@.\\-åäöÅÄÖ]{1,}$", "type": "string", "description": "The sellers identifier of the reversal transaction, usually the receipt reference" } }, "additionalProperties": false }, "V1.LimitUpgradeApplications.LimitUpgradeApplicationsBase": { "required": [ "accountNo", "creditLimit", "currency", "customerNo", "redirectOptions", "returnUrl" ], "type": "object", "properties": { "@id": { "type": "string", "nullable": true }, "accountNo": { "maxLength": 50, "minLength": 0, "type": "string", "description": "The identifier of the account" }, "customerNo": { "maxLength": 15, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-]{1,}$", "type": "string", "description": "The identifier of the customer." }, "creditLimit": { "maximum": 100000000, "minimum": 0.01, "type": "number", "description": "The amount of the credit limit on the account applied for, can't have more than 2 decimal places", "format": "double" }, "currency": { "$ref": "#/components/schemas/PayEx.AR.AccountTransaction.Api.Business.Entity.Currency" }, "returnUrl": { "minLength": 1, "type": "string", "description": "Url to return the end user to after process is completed" }, "redirectOptions": { "$ref": "#/components/schemas/V1.LimitUpgradeApplications.RedirectOptions" } }, "additionalProperties": false }, "V1.LimitUpgradeApplications.LimitUpgradeApplicationsResource": { "required": [ "accountNo", "creditLimit", "currency", "customerNo", "redirectOptions", "returnUrl" ], "type": "object", "properties": { "@id": { "type": "string", "nullable": true }, "accountNo": { "maxLength": 50, "minLength": 0, "type": "string", "description": "The identifier of the account" }, "customerNo": { "maxLength": 15, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-]{1,}$", "type": "string", "description": "The identifier of the customer." }, "creditLimit": { "maximum": 100000000, "minimum": 0.01, "type": "number", "description": "The amount of the credit limit on the account applied for, can't have more than 2 decimal places", "format": "double" }, "currency": { "$ref": "#/components/schemas/PayEx.AR.AccountTransaction.Api.Business.Entity.Currency" }, "returnUrl": { "minLength": 1, "type": "string", "description": "Url to return the end user to after process is completed" }, "redirectOptions": { "$ref": "#/components/schemas/V1.LimitUpgradeApplications.RedirectOptions" }, "limitUpgradeApplicationId": { "type": "string", "description": "Unique identifier of the limit-upgrade-application.", "nullable": true }, "redirectUrl": { "type": "string", "description": "Web uri pointing to the application flow that the user should be redirected to.", "nullable": true }, "operations": { "type": "array", "items": { "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.IOperation" }, "nullable": true } }, "additionalProperties": false }, "V1.LimitUpgradeApplications.RedirectOptions": { "required": [ "languageCode" ], "type": "object", "properties": { "nativeAppSwitchingUrl": { "type": "string", "description": "Uri pointing to app, used to switch back to app from bankId", "nullable": true }, "autostartAction": { "type": "string", "description": "Used to automatically start bankId application. Possible actions (null|se-bankid-this-device)", "nullable": true }, "languageCode": { "minLength": 1, "type": "string", "description": "Used to set desired language in the authenticate/onboarding web. Possible languageCodes (SV|EN)" } }, "additionalProperties": false }, "V1.PreAuthorizations.AssessmentInfo": { "required": [ "assessmentUrl", "scaStatus" ], "type": "object", "properties": { "assessmentUrl": { "minLength": 1, "pattern": "^/score/sca/v\\d{1,10}/\\w{0,15}[0-9aA-zZ]/assessments/\\d+$", "type": "string" }, "scaStatus": { "$ref": "#/components/schemas/V1.PreAuthorizations.ScaStatus" } }, "additionalProperties": false, "description": "Only relevant if an SCA assessment has been made prior to the pre-authorization. If TRA assessment has already been made it should be referenced in this object" }, "V1.PreAuthorizations.CallbackOptions": { "type": "object", "properties": { "url": { "type": "string", "description": "Absolute url, only supports GET", "nullable": true } }, "additionalProperties": false }, "V1.PreAuthorizations.Customer": { "required": [ "nationalConsumerIdentifier" ], "type": "object", "properties": { "nationalConsumerIdentifier": { "$ref": "#/components/schemas/V1.PreAuthorizations.NationalConsumerIdentifier" }, "email": { "maxLength": 254, "minLength": 5, "pattern": "^[^;\\xA0\\xD0\\─@<>\\p{Cc}]+@(?!\\.)(?!.*\\.\\.)(?:[^;\\xA0\\xD0\\─@<>\\p{Cc}]+\\.[^;\\xA0\\xD0\\─@<>\\p{Cc}]+|\\[[A-Fa-f\\d\\:]+\\])(?>url:https://sv.wikipedia.org/wiki/ISO_3166]]", "nullable": true } }, "additionalProperties": false }, "V1.PreAuthorizations.Operations.Redirect.RedirectOptions": { "required": [ "languageCode" ], "type": "object", "properties": { "nativeAppSwitchingUrl": { "type": "string", "description": "Uri pointing to app, used to switch back to app from bankId", "nullable": true }, "autostartAction": { "type": "string", "description": "Used to automatically start bankId application. Possible actions (null|se-bankid-this-device)", "nullable": true }, "languageCode": { "minLength": 1, "type": "string", "description": "Used to set desired language in the authenticate/onboarding web. Possible languageCodes (SV|EN|NO|DA)" } }, "additionalProperties": false }, "V1.PreAuthorizations.Operations.Redirect.RedirectRequest": { "required": [ "redirectOptions", "returnUrl" ], "type": "object", "properties": { "returnUrl": { "minLength": 1, "type": "string", "description": "Url to return the end user to after process is completed. Query parameter 'branding' is conditional" }, "redirectOptions": { "$ref": "#/components/schemas/V1.PreAuthorizations.Operations.Redirect.RedirectOptions" } }, "additionalProperties": false }, "V1.PreAuthorizations.Operations.Redirect.RedirectResponse": { "type": "object", "properties": { "@id": { "type": "string", "nullable": true }, "redirectUrl": { "type": "string", "nullable": true } }, "additionalProperties": false }, "V1.PreAuthorizations.PreAuthorizationResourceBase": { "required": [ "authorizationAmount", "currency", "customer", "profileName", "sellerNo", "sellerReferenceId" ], "type": "object", "properties": { "customer": { "$ref": "#/components/schemas/V1.PreAuthorizations.Customer" }, "sellerNo": { "minLength": 1, "type": "string", "description": "The seller identifier at the provider of the API" }, "sellerReferenceId": { "maxLength": 50, "minLength": 1, "pattern": "^[a-zA-Z0-9#_:@.\\-åäöÅÄÖ]{1,}$", "type": "string", "description": "Sellers reference id, usually the order id of the purchase / consistent for all captures/deliveries" }, "profileName": { "minLength": 1, "type": "string", "description": "The profile name of the pre configured account setup" }, "authorizationAmount": { "maximum": 100000000, "minimum": 0.01, "type": "number", "description": "The original authorized amount, can't have more than 2 decimal places", "format": "double" }, "currency": { "$ref": "#/components/schemas/PayEx.AR.AccountTransaction.Api.Business.Entity.Currency" }, "pointOfSale": { "maxLength": 50, "minLength": 0, "pattern": "^[\\u0020-\\u003A \\u003C-\\u007E \\u00A0-\\u00FF \\u2019]*$", "type": "string", "description": "Trade name of the point of sale. Will be displayed to end customer. Only use if agreed with provider of the API", "nullable": true }, "assessment": { "$ref": "#/components/schemas/V1.PreAuthorizations.AssessmentInfo" }, "callbackOptions": { "$ref": "#/components/schemas/V1.PreAuthorizations.CallbackOptions" }, "specialIntent": { "type": "string", "description": "Additional instructions, possible values: [use-trusted-seller-group-consent] Only use if agreed with provider of the API", "nullable": true } }, "additionalProperties": false }, "V1.PreAuthorizations.PreAuthorizationsResponse": { "required": [ "authorizationAmount", "currency", "customer", "profileName", "sellerNo", "sellerReferenceId" ], "type": "object", "properties": { "customer": { "$ref": "#/components/schemas/V1.PreAuthorizations.Customer" }, "sellerNo": { "minLength": 1, "type": "string", "description": "The seller identifier at the provider of the API" }, "sellerReferenceId": { "maxLength": 50, "minLength": 1, "pattern": "^[a-zA-Z0-9#_:@.\\-åäöÅÄÖ]{1,}$", "type": "string", "description": "Sellers reference id, usually the order id of the purchase / consistent for all captures/deliveries" }, "profileName": { "minLength": 1, "type": "string", "description": "The profile name of the pre configured account setup" }, "authorizationAmount": { "maximum": 100000000, "minimum": 0.01, "type": "number", "description": "The original authorized amount, can't have more than 2 decimal places", "format": "double" }, "currency": { "$ref": "#/components/schemas/PayEx.AR.AccountTransaction.Api.Business.Entity.Currency" }, "pointOfSale": { "maxLength": 50, "minLength": 0, "pattern": "^[\\u0020-\\u003A \\u003C-\\u007E \\u00A0-\\u00FF \\u2019]*$", "type": "string", "description": "Trade name of the point of sale. Will be displayed to end customer. Only use if agreed with provider of the API", "nullable": true }, "assessment": { "$ref": "#/components/schemas/V1.PreAuthorizations.AssessmentInfo" }, "callbackOptions": { "$ref": "#/components/schemas/V1.PreAuthorizations.CallbackOptions" }, "specialIntent": { "type": "string", "description": "Additional instructions, possible values: [use-trusted-seller-group-consent] Only use if agreed with provider of the API", "nullable": true }, "preAuthorizationId": { "type": "string", "description": "Unique identifier of the pre-authorization, generated by the API", "nullable": true }, "preAuthorizationStatus": { "$ref": "#/components/schemas/PayEx.AR.AccountTransaction.Api.Business.Entity.PreAuthorizationStatus" }, "failReasonCode": { "type": "string", "description": "May contain a short descriptive code to expand on why PreAuthorization was unsuccessful", "nullable": true }, "operations": { "type": "array", "items": { "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.IOperation" }, "nullable": true }, "@id": { "type": "string", "nullable": true } }, "additionalProperties": false }, "V1.PreAuthorizations.ScaStatus": { "enum": [ "None", "Required", "NotRequired" ], "type": "string" }, "V1.SplitAuthorizations.Captures.CapturesRequest": { "required": [ "captureId", "currency", "monthlyBillingAmount", "months", "productName", "sellerTransactionId", "totalAmount" ], "type": "object", "properties": { "captureId": { "maxLength": 50, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-]{1,}$", "type": "string", "description": "Identifier of the capture, must be unique for all types of captures within the ledger" }, "sellerTransactionId": { "maxLength": 50, "minLength": 1, "pattern": "^[a-zA-Z0-9#_:@.\\-åäöÅÄÖ]{1,}$", "type": "string", "description": "The sellers identifier of the capture/transaction, usually the receipt reference" }, "currency": { "$ref": "#/components/schemas/PayEx.AR.AccountTransaction.Api.Business.Entity.Currency" }, "monthlyBillingAmount": { "maximum": 100000000, "minimum": 10, "type": "number", "description": "The amount the customer should be billed each month for this product, [MonthlyBilledAmount] x [Months] must be equal to or greater than [TotalAmount]. [TotalAmount] divided by [MonthlyBilledAmount] must be in the range between [Months]-1 and [Months]", "format": "double" }, "months": { "pattern": "^(1|6|12|24|36)$", "type": "integer", "description": "Number of monthly payments the [TotalAmount] should be split into", "format": "int32" }, "totalAmount": { "maximum": 100000000, "minimum": 10, "type": "number", "description": "The total amount/cost of the product, must be evenly dividable with part payment terms in the account offer", "format": "double" }, "productName": { "minLength": 1, "type": "string", "description": "Readable name of the purchase. Presented on the bill to the buyer" } }, "additionalProperties": false }, "V1.SplitAuthorizations.Captures.CapturesResponse": { "type": "object", "properties": { "@id": { "type": "string", "nullable": true }, "captureId": { "type": "string", "description": "Identifier of the capture, must be unique for all types of captures within the ledger", "nullable": true }, "operations": { "type": "array", "items": { "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.IOperation" }, "nullable": true } }, "additionalProperties": false }, "V1.SplitAuthorizations.Captures.Reversals.ReversalsResource": { "required": [ "amount", "currency", "reversalId", "sellerTransactionId" ], "type": "object", "properties": { "@id": { "type": "string", "nullable": true }, "reversalId": { "maxLength": 50, "minLength": 1, "pattern": "^[a-zA-Z0-9#_:@.\\-åäöÅÄÖ]{1,}$", "type": "string", "description": "Identifier of the reversal, must be unique for all types of captures within the ledger." }, "currency": { "$ref": "#/components/schemas/PayEx.AR.AccountTransaction.Api.Business.Entity.Currency" }, "amount": { "maximum": 100000000, "minimum": 0.01, "type": "number", "description": "Amount to reverse", "format": "double" }, "sellerTransactionId": { "maxLength": 50, "minLength": 1, "pattern": "^[a-zA-Z0-9#_:@.\\-åäöÅÄÖ]{1,}$", "type": "string", "description": "The sellers identifier of the reversal transaction, usually the receipt reference" } }, "additionalProperties": false }, "V1.SplitAuthorizations.SplitAuthorizationsRequest": { "required": [ "authorizationId", "preAuthorizationId" ], "type": "object", "properties": { "preAuthorizationId": { "minLength": 1, "type": "string", "description": "Identifier of the existing pre-authorization" }, "authorizationId": { "type": "integer", "description": "Identifier of the authorization, must be unique for all types of authorizations within the ledger", "format": "int64" } }, "additionalProperties": false }, "V1.SplitAuthorizations.SplitAuthorizationsResource": { "required": [ "authorizationAmount", "authorizationId", "currency", "remainingAmount", "sellerNo", "status", "validToDate" ], "type": "object", "properties": { "@id": { "type": "string", "nullable": true }, "authorizationId": { "minimum": 1, "type": "integer", "description": "Identifier of the authorization, must be unique for all types of authorizations within the ledger", "format": "int64" }, "sellerNo": { "minLength": 1, "type": "string", "description": "The seller identifier at payex" }, "validToDate": { "minLength": 1, "type": "string", "description": "The split-authorization is valid for captures until this date. Format 'YYYY-MM-DD'" }, "authorizationAmount": { "type": "number", "description": "The original authorized amount", "format": "double" }, "remainingAmount": { "type": "number", "description": "The remaining amount on the split-authorization available for capture", "format": "double" }, "currency": { "$ref": "#/components/schemas/PayEx.AR.AccountTransaction.Api.Business.Entity.Currency" }, "status": { "$ref": "#/components/schemas/PayEx.AR.AccountTransaction.Api.Business.Entity.Status" }, "operations": { "type": "array", "items": { "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.IOperation" }, "nullable": true } }, "additionalProperties": false } } } }