AppDirect Payments v2 API
The Payments v2 API from AppDirect — 4 operation(s) for payments v2.
The Payments v2 API from AppDirect — 4 operation(s) for payments v2.
openapi: 3.0.0
info:
description: The Companies API allows developers to manage marketplace companies and their user memberships.
title: Companies AI Embed Payments v2 API
license:
name: Apache License, Version 2.0
url: http://www.apache.org/licenses/LICENSE-2.0
version: v296.0-SNAPSHOT
servers:
- url: https://marketplace.appdirect.com/api
- url: https://virtserver.swaggerhub.com
tags:
- name: Payments v2
x-displayName: Payments v2
paths:
/api/appMarket/v2/transferPlatformConfigurations:
get:
tags:
- Payments v2
x-appdirect-api-stage: Early Access
summary: Retrieve all transfer platform configurations
description: 'Retrieves all transfer platform configurations for the marketplace of the current user
'
operationId: getTransferPlatformConfigurations
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/TransferPlatformConfigurationResponse'
examples:
response:
value:
- id: 9dfabd43-a34b-46e1-bc40-7ddd92cc228a
platformType: stripe
parameters:
base_url: https://api.stripe.com/testupdate
username: secret
- id: 6ef5eb40-4520-49b6-97f6-d09dfa84e52a
platformType: paypal
parameters:
base_url: https://api.paypal.com/testupdate
username: secret
'401':
description: Unauthorized
'500':
$ref: '#/components/responses/ServerError'
x-appdirect-required-scopes:
ROLE_CHANNEL_ADMIN:
- Allows access to retrieve transfer platform configurations.
x-codeSamples:
- lang: Shell + Curl
source: "curl --request GET \\\n --url https://marketplace.appdirect.com/api/api/appMarket/v2/transferPlatformConfigurations"
- lang: Node + Request
source: "const request = require('request');\n\nconst options = {\n method: 'GET',\n url: 'https://marketplace.appdirect.com/api/api/appMarket/v2/transferPlatformConfigurations'\n};\n\nrequest(options, function (error, response, body) {\n if (error) throw new Error(error);\n\n console.log(body);\n});\n"
- lang: Java + Okhttp
source: "OkHttpClient client = new OkHttpClient();\n\nRequest request = new Request.Builder()\n .url(\"https://marketplace.appdirect.com/api/api/appMarket/v2/transferPlatformConfigurations\")\n .get()\n .build();\n\nResponse response = client.newCall(request).execute();"
post:
tags:
- Payments v2
x-appdirect-api-stage: Early Access
summary: Create transfer platform configurations
description: 'Create a transfer platform configuration in the marketplace of the current user
'
operationId: createTransferPlatformConfiguration
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TransferPlatformConfigurationRequest'
description: The transfer platform configuration request
required: true
responses:
'201':
$ref: '#/components/responses/TransferPlatformConfigurationRequestSuccessful'
'400':
$ref: '#/components/responses/BadRequest'
'401':
description: Unauthorized
'409':
description: Cannot create duplicate configuration. A transfer platform configuration already exists for this tenant and type.
'500':
$ref: '#/components/responses/ServerError'
x-appdirect-required-scopes:
ROLE_CHANNEL_ADMIN:
- Allows access to create transfer platform configurations.
x-codeSamples:
- lang: Shell + Curl
source: "curl --request POST \\\n --url https://marketplace.appdirect.com/api/api/appMarket/v2/transferPlatformConfigurations \\\n --data '{\"platformType\":\"stripe\",\"parameters\":{\"base_url\":\"https://api.stripe.com/testupdate\",\"username\":\"secret\"}}'"
- lang: Node + Request
source: "const request = require('request');\n\nconst options = {\n method: 'POST',\n url: 'https://marketplace.appdirect.com/api/api/appMarket/v2/transferPlatformConfigurations',\n body: {\n platformType: 'stripe',\n parameters: {base_url: 'https://api.stripe.com/testupdate', username: 'secret'}\n },\n json: true\n};\n\nrequest(options, function (error, response, body) {\n if (error) throw new Error(error);\n\n console.log(body);\n});\n"
- lang: Java + Okhttp
source: "OkHttpClient client = new OkHttpClient();\n\nMediaType mediaType = MediaType.parse(\"application/json\");\nRequestBody body = RequestBody.create(mediaType, \"{\\\"platformType\\\":\\\"stripe\\\",\\\"parameters\\\":{\\\"base_url\\\":\\\"https://api.stripe.com/testupdate\\\",\\\"username\\\":\\\"secret\\\"}}\");\nRequest request = new Request.Builder()\n .url(\"https://marketplace.appdirect.com/api/api/appMarket/v2/transferPlatformConfigurations\")\n .post(body)\n .build();\n\nResponse response = client.newCall(request).execute();"
/api/appMarket/v2/transferPlatformConfigurations/{transferPlatformConfigurationId}:
parameters:
- in: path
name: transferPlatformConfigurationId
description: The transfer platform configuration ID
required: true
schema:
type: string
get:
tags:
- Payments v2
x-appdirect-api-stage: Early Access
summary: Retrieve transfer platform configurations
description: 'Retrieves the transfer platform configuration by ID
'
operationId: getTransferPlatformConfiguration
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/TransferPlatformConfigurationResponse'
'401':
description: Unauthorized
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/ServerError'
x-appdirect-required-scopes:
ROLE_CHANNEL_ADMIN:
- Allows access to retrieve one transfer platform configuration.
x-codeSamples:
- lang: Shell + Curl
source: "curl --request GET \\\n --url https://marketplace.appdirect.com/api/api/appMarket/v2/transferPlatformConfigurations/%7BtransferPlatformConfigurationId%7D"
- lang: Node + Request
source: "const request = require('request');\n\nconst options = {\n method: 'GET',\n url: 'https://marketplace.appdirect.com/api/api/appMarket/v2/transferPlatformConfigurations/%7BtransferPlatformConfigurationId%7D'\n};\n\nrequest(options, function (error, response, body) {\n if (error) throw new Error(error);\n\n console.log(body);\n});\n"
- lang: Java + Okhttp
source: "OkHttpClient client = new OkHttpClient();\n\nRequest request = new Request.Builder()\n .url(\"https://marketplace.appdirect.com/api/api/appMarket/v2/transferPlatformConfigurations/%7BtransferPlatformConfigurationId%7D\")\n .get()\n .build();\n\nResponse response = client.newCall(request).execute();"
put:
tags:
- Payments v2
x-appdirect-api-stage: Early Access
summary: Update transfer platform configurations
description: 'Updates the specified transfer platform configuration
'
operationId: updateTransferPlatformConfiguration
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TransferPlatformConfigurationRequest'
description: The transfer platform configuration request
required: true
responses:
'200':
$ref: '#/components/responses/TransferPlatformConfigurationRequestSuccessful'
'400':
$ref: '#/components/responses/BadRequest'
'401':
description: Unauthorized
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/ServerError'
x-appdirect-required-scopes:
ROLE_CHANNEL_ADMIN:
- Allows access to update one transfer platform configuration.
x-codeSamples:
- lang: Shell + Curl
source: "curl --request PUT \\\n --url https://marketplace.appdirect.com/api/api/appMarket/v2/transferPlatformConfigurations/%7BtransferPlatformConfigurationId%7D \\\n --data '{\"platformType\":\"stripe\",\"parameters\":{\"base_url\":\"https://api.stripe.com/testupdate\",\"username\":\"secret\"}}'"
- lang: Node + Request
source: "const request = require('request');\n\nconst options = {\n method: 'PUT',\n url: 'https://marketplace.appdirect.com/api/api/appMarket/v2/transferPlatformConfigurations/%7BtransferPlatformConfigurationId%7D',\n body: {\n platformType: 'stripe',\n parameters: {base_url: 'https://api.stripe.com/testupdate', username: 'secret'}\n },\n json: true\n};\n\nrequest(options, function (error, response, body) {\n if (error) throw new Error(error);\n\n console.log(body);\n});\n"
- lang: Java + Okhttp
source: "OkHttpClient client = new OkHttpClient();\n\nMediaType mediaType = MediaType.parse(\"application/json\");\nRequestBody body = RequestBody.create(mediaType, \"{\\\"platformType\\\":\\\"stripe\\\",\\\"parameters\\\":{\\\"base_url\\\":\\\"https://api.stripe.com/testupdate\\\",\\\"username\\\":\\\"secret\\\"}}\");\nRequest request = new Request.Builder()\n .url(\"https://marketplace.appdirect.com/api/api/appMarket/v2/transferPlatformConfigurations/%7BtransferPlatformConfigurationId%7D\")\n .put(body)\n .build();\n\nResponse response = client.newCall(request).execute();"
delete:
tags:
- Payments v2
x-appdirect-api-stage: Early Access
summary: Delete transfer platform configurations
description: 'Deletes the specified transfer platform configuration. It cannot be used anymore
'
operationId: deleteTransferPlatformConfiguration
responses:
'204':
description: No Content
'401':
description: Unauthorized
'500':
$ref: '#/components/responses/ServerError'
x-appdirect-required-scopes:
ROLE_CHANNEL_ADMIN:
- Allows access to delete one transfer platform configuration.
x-codeSamples:
- lang: Shell + Curl
source: "curl --request DELETE \\\n --url https://marketplace.appdirect.com/api/api/appMarket/v2/transferPlatformConfigurations/%7BtransferPlatformConfigurationId%7D"
- lang: Node + Request
source: "const request = require('request');\n\nconst options = {\n method: 'DELETE',\n url: 'https://marketplace.appdirect.com/api/api/appMarket/v2/transferPlatformConfigurations/%7BtransferPlatformConfigurationId%7D'\n};\n\nrequest(options, function (error, response, body) {\n if (error) throw new Error(error);\n\n console.log(body);\n});\n"
- lang: Java + Okhttp
source: "OkHttpClient client = new OkHttpClient();\n\nRequest request = new Request.Builder()\n .url(\"https://marketplace.appdirect.com/api/api/appMarket/v2/transferPlatformConfigurations/%7BtransferPlatformConfigurationId%7D\")\n .delete(null)\n .build();\n\nResponse response = client.newCall(request).execute();"
/api/appMarket/v2/transferMethods:
post:
tags:
- Payments v2
x-appdirect-api-stage: Early Access
summary: Create transfer methods
description: 'Creates a new Transfer Method for the requesting (authenticated) user
'
operationId: createTransferMethod
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TransferMethodRequest'
description: The transfer method to create
required: true
responses:
'201':
description: The transfer method request has been created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/TransferMethodResponse'
examples:
response:
value:
id: ab65d3e8-4ee0-11e8-9c2d-222222222222
platformType: stripe
partyId: '1'
partyType: USER
balance:
amount: '10.0000000000'
currency: USD
displayName: '****3456'
properties:
account_id: '123456'
'400':
$ref: '#/components/responses/BadRequest'
'401':
description: Unauthorized
'409':
description: Cannot create duplicate transfer method. A transfer method already exists for this party and platformType
'500':
$ref: '#/components/responses/ServerError'
x-codeSamples:
- lang: Shell + Curl
source: "curl --request POST \\\n --url https://marketplace.appdirect.com/api/api/appMarket/v2/transferMethods \\\n --header 'content-type: application/json' \\\n --data '{\"platformType\":\"stripe\",\"partyId\":\"1\",\"partyType\":\"USER\",\"properties\":{\"account_id\":\"123456\"}}'"
- lang: Node + Request
source: "const request = require('request');\n\nconst options = {\n method: 'POST',\n url: 'https://marketplace.appdirect.com/api/api/appMarket/v2/transferMethods',\n headers: {'content-type': 'application/json'},\n body: {\n platformType: 'stripe',\n partyId: '1',\n partyType: 'USER',\n properties: {account_id: '123456'}\n },\n json: true\n};\n\nrequest(options, function (error, response, body) {\n if (error) throw new Error(error);\n\n console.log(body);\n});\n"
- lang: Java + Okhttp
source: "OkHttpClient client = new OkHttpClient();\n\nMediaType mediaType = MediaType.parse(\"application/json\");\nRequestBody body = RequestBody.create(mediaType, \"{\\\"platformType\\\":\\\"stripe\\\",\\\"partyId\\\":\\\"1\\\",\\\"partyType\\\":\\\"USER\\\",\\\"properties\\\":{\\\"account_id\\\":\\\"123456\\\"}}\");\nRequest request = new Request.Builder()\n .url(\"https://marketplace.appdirect.com/api/api/appMarket/v2/transferMethods\")\n .post(body)\n .addHeader(\"content-type\", \"application/json\")\n .build();\n\nResponse response = client.newCall(request).execute();"
get:
tags:
- Payments v2
x-appdirect-api-stage: Early Access
summary: Retrieve transfer methods
description: 'Retrieves the transfer methods associated with the requesting (authenticated) user
'
operationId: getTransferMethods
parameters:
- in: query
name: includeBalance
description: Determines whether the response should include the transfer method balance
required: false
schema:
type: boolean
default: false
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/TransferMethodResponse'
examples:
response:
value:
- id: ab65d3e8-4ee0-11e8-9c2d-222222222222
platformType: stripe
partyId: '1'
partyType: USER
balance:
amount: '10.00'
currency: USD
displayName: '****3456'
properties:
account_id: '123456'
- id: a20b2ad9-2248-4393-ad35-8c27dd01c11e
platformType: Paypal
partyId: '1'
partyType: USER
balance:
amount: '10.00'
currency: USD
displayName: '****WXYZ'
properties:
account_id: ABCDWXYZ
'401':
description: Unauthorized
'500':
$ref: '#/components/responses/ServerError'
x-codeSamples:
- lang: Shell + Curl
source: "curl --request GET \\\n --url 'https://marketplace.appdirect.com/api/api/appMarket/v2/transferMethods?includeBalance=SOME_BOOLEAN_VALUE'"
- lang: Node + Request
source: "const request = require('request');\n\nconst options = {\n method: 'GET',\n url: 'https://marketplace.appdirect.com/api/api/appMarket/v2/transferMethods',\n qs: {includeBalance: 'SOME_BOOLEAN_VALUE'}\n};\n\nrequest(options, function (error, response, body) {\n if (error) throw new Error(error);\n\n console.log(body);\n});\n"
- lang: Java + Okhttp
source: "OkHttpClient client = new OkHttpClient();\n\nRequest request = new Request.Builder()\n .url(\"https://marketplace.appdirect.com/api/api/appMarket/v2/transferMethods?includeBalance=SOME_BOOLEAN_VALUE\")\n .get()\n .build();\n\nResponse response = client.newCall(request).execute();"
/api/appMarket/v2/transferMethods/{transferMethodId}:
parameters:
- in: path
name: transferMethodId
description: The Transfer Method ID
required: true
schema:
type: string
get:
tags:
- Payments v2
x-appdirect-api-stage: Early Access
summary: Retrieves Transfer Method by ID
description: 'Retrieves the Transfer Method for the given ID
'
operationId: getTransferMethod
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/TransferMethodResponse'
examples:
response:
value:
id: ab65d3e8-4ee0-11e8-9c2d-222222222222
platformType: stripe
partyId: '1'
partyType: USER
balance:
amount: '10.00'
currency: USD
displayName: '****3456'
properties:
account_id: '123456'
'401':
description: Unauthorized
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/ServerError'
x-codeSamples:
- lang: Shell + Curl
source: "curl --request GET \\\n --url https://marketplace.appdirect.com/api/api/appMarket/v2/transferMethods/%7BtransferMethodId%7D"
- lang: Node + Request
source: "const request = require('request');\n\nconst options = {\n method: 'GET',\n url: 'https://marketplace.appdirect.com/api/api/appMarket/v2/transferMethods/%7BtransferMethodId%7D'\n};\n\nrequest(options, function (error, response, body) {\n if (error) throw new Error(error);\n\n console.log(body);\n});\n"
- lang: Java + Okhttp
source: "OkHttpClient client = new OkHttpClient();\n\nRequest request = new Request.Builder()\n .url(\"https://marketplace.appdirect.com/api/api/appMarket/v2/transferMethods/%7BtransferMethodId%7D\")\n .get()\n .build();\n\nResponse response = client.newCall(request).execute();"
delete:
tags:
- Payments v2
x-appdirect-api-stage: Early Access
summary: Delete transfer methods
description: 'Deletes the transfer method with the specified ID
'
operationId: deleteTransferMethod
responses:
'204':
description: No Content
'401':
description: Unauthorized
'500':
$ref: '#/components/responses/ServerError'
x-codeSamples:
- lang: Shell + Curl
source: "curl --request DELETE \\\n --url https://marketplace.appdirect.com/api/api/appMarket/v2/transferMethods/%7BtransferMethodId%7D"
- lang: Node + Request
source: "const request = require('request');\n\nconst options = {\n method: 'DELETE',\n url: 'https://marketplace.appdirect.com/api/api/appMarket/v2/transferMethods/%7BtransferMethodId%7D'\n};\n\nrequest(options, function (error, response, body) {\n if (error) throw new Error(error);\n\n console.log(body);\n});\n"
- lang: Java + Okhttp
source: "OkHttpClient client = new OkHttpClient();\n\nRequest request = new Request.Builder()\n .url(\"https://marketplace.appdirect.com/api/api/appMarket/v2/transferMethods/%7BtransferMethodId%7D\")\n .delete(null)\n .build();\n\nResponse response = client.newCall(request).execute();"
components:
schemas:
AbstractTransferMethod:
title: AbstractTransferMethod
description: Transfer method base fields
properties:
properties:
type: object
description: The transfer method properties
minProperties: 1
additionalProperties:
type: string
platformType:
type: string
description: The transfer platform type
minLength: 1
maxLength: 255
partyId:
type: string
description: The ID of the transfer method's party
minLength: 1
maxLength: 255
partyType:
type: string
description: The type of the transfer method's party (USER, CHANNEL, and so on)
minLength: 1
maxLength: 255
required:
- properties
- platformType
- partyId
- partyType
example:
properties:
- property1: property1 value
platformType: stripe
partyId: '1'
partyType: USER
TransferPlatformConfigurationRequest:
allOf:
- $ref: '#/components/schemas/AbstractTransferPlatformConfiguration'
- title: TransferPlatformConfigurationRequest
description: A transfer platform configuration request
example:
platformType: stripe
parameters:
base_url: https://api.stripe.com/testupdate
username: secret
ErrorResponse:
type: object
title: ErrorResponse
description: Error details
properties:
status:
type: integer
description: Original HTTP error code, which should be consistent with the response HTTP code
minimum: 100
maximum: 599
code:
type: string
description: The error code, in screaming snake case, for example VALIDATION_ERROR
pattern: ^[A-Z]+(_[A-Z]+)*$
message:
type: string
description: Descriptive error message for debugging
moreInfo:
type: string
format: uri
description: Link to documentation for more information
details:
type: array
items:
$ref: '#/components/schemas/ErrorPaymentDetail'
required:
- status
- code
example:
status: 400
code: VALIDATION_ERROR
message: Missing required parameters
TransferMethodRequest:
allOf:
- $ref: '#/components/schemas/AbstractTransferMethod'
- title: TransferMethodRequest
description: The transfer method creation payload
example:
platformType: stripe
partyId: '1'
partyType: USER
properties:
account_id: '123456'
TransferMethodResponse:
allOf:
- $ref: '#/components/schemas/AbstractTransferMethod'
- title: TransferMethodResponse
description: A transfer method response
type: object
properties:
id:
type: string
description: The transfer method ID
minLength: 36
maxLength: 36
balance:
$ref: '#/components/schemas/Balance'
displayName:
type: string
description: The transfer method display name
minLength: 1
maxLength: 255
required:
- id
- displayName
example:
id: 619da695-42d6-4189-9cc2-cdc885a3a4f7
properties:
- property1: property1 value
platformType: stripe
partyId: '1'
partyType: USER
balance:
amount: '10.00'
currency: USD
displayName: '****1234'
ErrorPaymentDetail:
type: object
title: ErrorPaymentDetail
description: A detail element of an ErrorResponse
properties:
field:
type: string
description: The element in the request payload that caused the error
code:
type: string
description: The error code, in screaming snake case, for example PAYLOAD_VALIDATION_ERROR
pattern: ^[A-Z]+(_[A-Z]+)*$
message:
type: string
description: Descriptive error message for debugging
moreInfo:
type: string
format: uri
description: Link to documentation for more information
required:
- code
example:
code: INVALID_REQUEST
message: Missing parameter
Balance:
type: object
title: Balance
description: The balance of a transfer method
properties:
amount:
type: string
format: amount
description: A monetary amount
currency:
type: string
pattern: ^[A-Z]{3}$
description: The currency of the amount, using the ISO-4217 currency code
example:
amount: '49.99'
currency: USD
TransferPlatformConfigurationResponse:
allOf:
- $ref: '#/components/schemas/AbstractTransferPlatformConfiguration'
- title: TransferPlatformConfigurationResponse
description: A transfer platform configuration response
type: object
properties:
id:
type: string
description: Id of the transfer platform configuration
required:
- id
example:
id: 9dfabd43-a34b-46e1-bc40-7ddd92cc228a
platformType: stripe
parameters:
base_url: https://api.stripe.com/testupdate
username: secret
AbstractTransferPlatformConfiguration:
title: AbstractTransferPlatformConfiguration
description: Transfer platform configuration base fields
properties:
platformType:
type: string
description: The transfer platform type
minLength: 1
maxLength: 255
parameters:
type: object
description: The transfer platform parameters.
minProperties: 1
additionalProperties:
type: string
required:
- platformType
- parameters
example:
platformType: stripe
parameters:
base_url: https://api.stripe.com/testupdate
username: secret
responses:
ServerError:
description: Indicates an unknown internal error that prevents the server from processing the request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
response:
value:
status: 500
code: UNKNOWN_ERROR
message: Internal server error.
NotFound:
description: Resource Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
response:
value:
status: 404
code: NOT_FOUND
message: Not found
BadRequest:
description: Indicates a bad request, which can be due to violation(s) of HTTP or API rules
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
response:
value:
status: 400
code: BAD_REQUEST
message: The locale is not recognized.
TransferPlatformConfigurationRequestSuccessful:
description: The transfer platform configuration request has been treated successfully
content:
application/json:
schema:
$ref: '#/components/schemas/TransferPlatformConfigurationResponse'
examples:
response:
value:
id: 9dfabd43-a34b-46e1-bc40-7ddd92cc228a
platformType: stripe
parameters:
base_url: https://api.stripe.com/testupdate
username: secret