CyberSource Merchant Defined Fields API
The Merchant Defined Fields API from CyberSource — 2 operation(s) for merchant defined fields.
The Merchant Defined Fields API from CyberSource — 2 operation(s) for merchant defined fields.
swagger: '2.0'
info:
description: All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html
version: 0.0.1
title: CyberSource Merged Spec bankAccountValidation Merchant Defined Fields API
host: apitest.cybersource.com
basePath: /
schemes:
- https
consumes:
- application/json;charset=utf-8
produces:
- application/hal+json;charset=utf-8
tags:
- name: Merchant Defined Fields
paths:
/invoicing/v2/{referenceType}/merchantDefinedFields:
get:
tags:
- Merchant Defined Fields
summary: Get all merchant defined fields for a given reference type
operationId: getMerchantDefinedFieldsDefinitions
x-devcenter-metaData:
categoryTag: Invoicing
developerGuides: https://developer.cybersource.com/docs/cybs/en-us/invoicing/developer/all/rest/invoicing/Introduction.html
consumes:
- application/json
produces:
- application/json
parameters:
- name: referenceType
in: path
type: string
enum:
- Invoice
- Purchase
- Donation
description: The reference type for which merchant defined fields are to be fetched. Available values are Invoice, Purchase, Donation
required: true
responses:
'200':
description: Get all merchant defined fields for a given reference type
schema:
type: array
items:
type: object
properties:
id:
type: integer
format: int64
fieldType:
type: string
label:
type: string
customerVisible:
type: boolean
textMinLength:
type: integer
format: int32
textMaxLength:
type: integer
format: int32
possibleValues:
type: string
textDefaultValue:
type: string
merchantId:
type: string
referenceType:
type: string
readOnly:
type: boolean
merchantDefinedDataIndex:
type: integer
format: int32
example:
fieldType: Text
label: Cup
customerVisible: 'true'
readOnly: 'false'
textMinLength: 1
textMaxLength: 100
textDefaultValue: default text
merchantDefinedDataIndex: 15
'404':
description: Merchant defined fields not found
schema:
type: object
properties:
submitTimeUtc:
type: string
description: The time the response was submitted
status:
type: integer
description: The status code of the response
format: int32
reason:
type: string
description: The reason for the response
message:
type: string
description: The message of the response
details:
description: The details of the validation error
type: array
items:
type: object
properties:
field:
type: string
description: The field that caused the validation error
reason:
type: string
description: The reason for the validation error
example:
correlationId: 08b69ffe-f79b-4e09-991f-b030058e21f4
status: 400
responseData:
submitTimeUtc: '2016-08-11T22:47:57Z'
status: 400
reason: MERCHANT_DEFINED_FIELD_ALREADY_UPDATED
message: Merchant defined field already updated or does not exist
details:
- field: customerVisible readOnly
reason: For 'Select' field type 'Read only' must be false and 'Customer Visible' true
- field: textMinLength
reason: textMinLength is not allowed for field type Select
- field: textMaxLength
reason: textMaxLength is not allowed for field type Select
- field: textDefaultValue
reason: textDefaultValue is not allowed for field type Select
- field: possibleValues
reason: Possible values cannot be empty for Select field type
- field: possibleValues
reason: Possible value Best Dad in the world is too long
- field: possibleValues
reason: Possible values must contain at least two values
- field: possibleValues
reason: Possible values total length cannot exceed 4000 characters
- field: possibleValues
reason: Possible value cannot be empty
post:
tags:
- Merchant Defined Fields
x-devcenter-metaData:
categoryTag: Invoicing
developerGuides: https://developer.cybersource.com/docs/cybs/en-us/invoicing/developer/all/rest/invoicing/Introduction.html
summary: Create merchant defined field for a given reference type
operationId: createMerchantDefinedFieldDefinition
consumes:
- application/json
produces:
- application/json
parameters:
- name: referenceType
in: path
type: string
enum:
- Invoice
- Purchase
- Donation
description: The reference type for which merchant defined fields are to be fetched. Available values are Invoice, Purchase, Donation
required: true
- name: MerchantDefinedFieldDefinitionRequest
in: body
required: true
schema:
type: object
properties:
fieldType:
type: string
description: 'Possible values:
- text
- select'
label:
type: string
maxLength: 100
customerVisible:
type: boolean
default: false
textMinLength:
type: integer
default: 0
description: Should be used only if fieldType = "text"
textMaxLength:
type: integer
default: 100
description: Should be used only if fieldType = "text"
textDefaultValue:
type: string
maxLength: 100
description: Should be used only if fieldType = "text"
possibleValues:
type: string
maxLength: 600
description: Should be mandatory and used only if fieldType = "select"
readOnly:
type: boolean
default: false
merchantDefinedDataIndex:
type: integer
required:
- fieldType
- label
- merchantDefinedDataIndex
example:
fieldType: Text
label: Cup
customerVisible: 'true'
readOnly: 'false'
textMinLength: 1
textMaxLength: 100
textDefaultValue: default text
merchantDefinedDataIndex: 15
responses:
'201':
description: Create merchant defined field for a given reference type
schema:
type: array
items:
type: object
properties:
id:
type: integer
format: int64
fieldType:
type: string
label:
type: string
customerVisible:
type: boolean
textMinLength:
type: integer
format: int32
textMaxLength:
type: integer
format: int32
possibleValues:
type: string
textDefaultValue:
type: string
merchantId:
type: string
referenceType:
type: string
readOnly:
type: boolean
merchantDefinedDataIndex:
type: integer
format: int32
example:
fieldType: Text
label: Cup
customerVisible: 'true'
readOnly: 'false'
textMinLength: 1
textMaxLength: 100
textDefaultValue: default text
merchantDefinedDataIndex: 15
'400':
description: MerchantDefinedData definition is already updated or Merchant Defined Data Index is already assigned
schema:
type: object
properties:
submitTimeUtc:
type: string
description: The time the response was submitted
status:
type: integer
description: The status code of the response
format: int32
reason:
type: string
description: The reason for the response
message:
type: string
description: The message of the response
details:
description: The details of the validation error
type: array
items:
type: object
properties:
field:
type: string
description: The field that caused the validation error
reason:
type: string
description: The reason for the validation error
example:
correlationId: 08b69ffe-f79b-4e09-991f-b030058e21f4
status: 400
responseData:
submitTimeUtc: '2016-08-11T22:47:57Z'
status: 400
reason: MERCHANT_DEFINED_FIELD_ALREADY_UPDATED
message: Merchant defined field already updated or does not exist
details:
- field: customerVisible readOnly
reason: For 'Select' field type 'Read only' must be false and 'Customer Visible' true
- field: textMinLength
reason: textMinLength is not allowed for field type Select
- field: textMaxLength
reason: textMaxLength is not allowed for field type Select
- field: textDefaultValue
reason: textDefaultValue is not allowed for field type Select
- field: possibleValues
reason: Possible values cannot be empty for Select field type
- field: possibleValues
reason: Possible value Best Dad in the world is too long
- field: possibleValues
reason: Possible values must contain at least two values
- field: possibleValues
reason: Possible values total length cannot exceed 4000 characters
- field: possibleValues
reason: Possible value cannot be empty
'409':
description: MerchantDefinedData definition is already updated or Merchant Defined Data Index is already assigned
schema:
type: object
properties:
submitTimeUtc:
type: string
description: The time the response was submitted
status:
type: integer
description: The status code of the response
format: int32
reason:
type: string
description: The reason for the response
message:
type: string
description: The message of the response
details:
description: The details of the validation error
type: array
items:
type: object
properties:
field:
type: string
description: The field that caused the validation error
reason:
type: string
description: The reason for the validation error
example:
correlationId: 08b69ffe-f79b-4e09-991f-b030058e21f4
status: 400
responseData:
submitTimeUtc: '2016-08-11T22:47:57Z'
status: 400
reason: MERCHANT_DEFINED_FIELD_ALREADY_UPDATED
message: Merchant defined field already updated or does not exist
details:
- field: customerVisible readOnly
reason: For 'Select' field type 'Read only' must be false and 'Customer Visible' true
- field: textMinLength
reason: textMinLength is not allowed for field type Select
- field: textMaxLength
reason: textMaxLength is not allowed for field type Select
- field: textDefaultValue
reason: textDefaultValue is not allowed for field type Select
- field: possibleValues
reason: Possible values cannot be empty for Select field type
- field: possibleValues
reason: Possible value Best Dad in the world is too long
- field: possibleValues
reason: Possible values must contain at least two values
- field: possibleValues
reason: Possible values total length cannot exceed 4000 characters
- field: possibleValues
reason: Possible value cannot be empty
'412':
description: Merchant has exceeded limit for type {referenceType}
schema:
type: object
properties:
submitTimeUtc:
type: string
description: The time the response was submitted
status:
type: integer
description: The status code of the response
format: int32
reason:
type: string
description: The reason for the response
message:
type: string
description: The message of the response
details:
description: The details of the validation error
type: array
items:
type: object
properties:
field:
type: string
description: The field that caused the validation error
reason:
type: string
description: The reason for the validation error
example:
correlationId: 08b69ffe-f79b-4e09-991f-b030058e21f4
status: 400
responseData:
submitTimeUtc: '2016-08-11T22:47:57Z'
status: 400
reason: MERCHANT_DEFINED_FIELD_ALREADY_UPDATED
message: Merchant defined field already updated or does not exist
details:
- field: customerVisible readOnly
reason: For 'Select' field type 'Read only' must be false and 'Customer Visible' true
- field: textMinLength
reason: textMinLength is not allowed for field type Select
- field: textMaxLength
reason: textMaxLength is not allowed for field type Select
- field: textDefaultValue
reason: textDefaultValue is not allowed for field type Select
- field: possibleValues
reason: Possible values cannot be empty for Select field type
- field: possibleValues
reason: Possible value Best Dad in the world is too long
- field: possibleValues
reason: Possible values must contain at least two values
- field: possibleValues
reason: Possible values total length cannot exceed 4000 characters
- field: possibleValues
reason: Possible value cannot be empty
x-example:
example0:
summary: Create merchant defined field
value:
fieldType: Text
label: Cup
customerVisible: 'true'
readOnly: 'false'
textMinLength: 1
textMaxLength: 100
textDefaultValue: default text
merchantDefinedDataIndex: 15
/invoicing/v2/{referenceType}/merchantDefinedFields/{id}:
put:
tags:
- Merchant Defined Fields
x-devcenter-metaData:
categoryTag: Invoicing
developerGuides: https://developer.cybersource.com/docs/cybs/en-us/invoicing/developer/all/rest/invoicing/Introduction.html
summary: Update a MerchantDefinedField by ID
operationId: putMerchantDefinedFieldsDefinitions
parameters:
- in: path
name: referenceType
required: true
type: string
enum:
- Invoice
- Purchase
- Donation
- in: path
name: id
required: true
type: integer
format: int64
- name: MerchantDefinedFieldCore
in: body
required: true
schema:
type: object
properties:
fieldType:
type: string
description: 'Possible values:
- text
- select'
label:
type: string
maxLength: 100
customerVisible:
type: boolean
default: false
textMinLength:
type: integer
default: 0
description: Should be used only if fieldType = "text"
textMaxLength:
type: integer
default: 100
description: Should be used only if fieldType = "text"
textDefaultValue:
type: string
maxLength: 100
description: Should be used only if fieldType = "text"
possibleValues:
type: string
maxLength: 600
description: Should be mandatory and used only if fieldType = "select"
readOnly:
type: boolean
default: false
merchantDefinedDataIndex:
type: integer
required:
- fieldType
- label
- merchantDefinedDataIndex
example:
fieldType: Text
label: Cup
customerVisible: 'true'
readOnly: 'false'
textMinLength: 1
textMaxLength: 100
textDefaultValue: default text
merchantDefinedDataIndex: 15
responses:
'200':
description: A list of MerchantDefinedField
schema:
type: array
items:
type: object
properties:
id:
type: integer
format: int64
fieldType:
type: string
label:
type: string
customerVisible:
type: boolean
textMinLength:
type: integer
format: int32
textMaxLength:
type: integer
format: int32
possibleValues:
type: string
textDefaultValue:
type: string
merchantId:
type: string
referenceType:
type: string
readOnly:
type: boolean
merchantDefinedDataIndex:
type: integer
format: int32
example:
fieldType: Text
label: Cup
customerVisible: 'true'
readOnly: 'false'
textMinLength: 1
textMaxLength: 100
textDefaultValue: default text
merchantDefinedDataIndex: 15
'400':
description: Wrong referenceType in the path
schema:
type: object
properties:
submitTimeUtc:
type: string
description: The time the response was submitted
status:
type: integer
description: The status code of the response
format: int32
reason:
type: string
description: The reason for the response
message:
type: string
description: The message of the response
details:
description: The details of the validation error
type: array
items:
type: object
properties:
field:
type: string
description: The field that caused the validation error
reason:
type: string
description: The reason for the validation error
example:
correlationId: 08b69ffe-f79b-4e09-991f-b030058e21f4
status: 400
responseData:
submitTimeUtc: '2016-08-11T22:47:57Z'
status: 400
reason: MERCHANT_DEFINED_FIELD_ALREADY_UPDATED
message: Merchant defined field already updated or does not exist
details:
- field: customerVisible readOnly
reason: For 'Select' field type 'Read only' must be false and 'Customer Visible' true
- field: textMinLength
reason: textMinLength is not allowed for field type Select
- field: textMaxLength
reason: textMaxLength is not allowed for field type Select
- field: textDefaultValue
reason: textDefaultValue is not allowed for field type Select
- field: possibleValues
reason: Possible values cannot be empty for Select field type
- field: possibleValues
reason: Possible value Best Dad in the world is too long
- field: possibleValues
reason: Possible values must contain at least two values
- field: possibleValues
reason: Possible values total length cannot exceed 4000 characters
- field: possibleValues
reason: Possible value cannot be empty
'409':
description: MerchantDefinedData definition is already updated or Merchant Defined Data Index is already assigned
schema:
type: object
properties:
submitTimeUtc:
type: string
description: The time the response was submitted
status:
type: integer
description: The status code of the response
format: int32
reason:
type: string
description: The reason for the response
message:
type: string
description: The message of the response
details:
description: The details of the validation error
type: array
items:
type: object
properties:
field:
type: string
description: The field that caused the validation error
reason:
type: string
description: The reason for the validation error
example:
correlationId: 08b69ffe-f79b-4e09-991f-b030058e21f4
status: 400
responseData:
submitTimeUtc: '2016-08-11T22:47:57Z'
status: 400
reason: MERCHANT_DEFINED_FIELD_ALREADY_UPDATED
message: Merchant defined field already updated or does not exist
details:
- field: customerVisible readOnly
reason: For 'Select' field type 'Read only' must be false and 'Customer Visible' true
- field: textMinLength
reason: textMinLength is not allowed for field type Select
- field: textMaxLength
reason: textMaxLength is not allowed for field type Select
- field: textDefaultValue
reason: textDefaultValue is not allowed for field type Select
- field: possibleValues
reason: Possible values cannot be empty for Select field type
- field: possibleValues
reason: Possible value Best Dad in the world is too long
- field: possibleValues
reason: Possible values must contain at least two values
- field: possibleValues
reason: Possible values total length cannot exceed 4000 characters
- field: possibleValues
reason: Possible value cannot be empty
x-example:
example0:
summary: Create merchant defined field
value:
fieldType: Text
label: Cup
customerVisible: 'true'
readOnly: 'false'
textMinLength: 1
textMaxLength: 100
textDefaultValue: default text
merchantDefinedDataIndex: 15
delete:
tags:
- Merchant Defined Fields
x-devcenter-metaData:
categoryTag: Invoicing
developerGuides: https://developer.cybersource.com/docs/cybs/en-us/invoicing/developer/all/rest/invoicing/Introduction.html
summary: Delete a MerchantDefinedField by ID
operationId: deleteMerchantDefinedFieldsDefinitions
parameters:
- in: path
name: referenceType
required: true
type: string
enum:
- Invoice
- Purchase
- Donation
- in: path
name: id
required: true
type: integer
format: int64
responses:
'204':
description: MerchantDefinedField deleted
x-devcenter-metaData:
categoryTagArray:
- name: Payments
description: For more information about Payments transactions, see the [Payments Developer Guides Page](https://developer.cybersource.com/docs/cybs/en-us/payments/developer/ctv/rest/payments/payments-intro.html).
- name: Transaction_Batches
description: For more information about Transaction Batches, see the [Transaction Batches Developer Guides Page](https://developer.cybersource.com/api/developer-guides/dita-transaction-batch-api/txn_batch_api_intro.html).
- name: eCheck_AVS
description: For more information about eCheck Account Validation, see the [Account Validation Developer Guides Page](https://...).
- name: Token_Management
description: For more information about the Token Management Service (TMS) see the [Token Management Developer Guide](https://developer.cybersource.com/docs/cybs/en-us/tms/developer/all/rest/tms/tms-overview.html)
- name: Flex_Microform
description: Microform Integration is a lightweight acceptance solution designed to safely and securely accept payment information within your web page. Microform is designed to a be embedded seamlessly within your existing webpage experience, blending in with your existing acceptance form. This solution allows for the replacement of sensitive payment date with a transient token (a short lived reference to the sensitive payment data). For more information about Flex Microform transactions, see the [Flex Developer Guides Page](https://developer.cybersource.com/api/developer-guides/dita-flex/SAFlexibleToken.html). For examples on how to integrate Flex Microform within your webpage please see our [GitHub Flex Samples](https://github.com/CyberSource?q=flex&type=&language=)
- name: Flex_API
description: For more information about Flex API, please see [Developer Guides Page](https://developer.cybersource.com/docs/cybs/en-us/digital-accept-flex/developer/all/rest/digital-accept-flex/da-flex-api-intro.html).
- name: Risk_Management
- name: Payouts
description: 'For more information about Payouts, see the [Payouts Developer Guides Page](https://developer.cybersource.com/api/developer-guides/dita-payouts/Introduction.html).
'
- name: Installments
description: For more information about Installment contact Cybersource Support. For Visa installments contact VISthroughCYBS@visa.com
- name: Recurring_Billing_Subscriptions
description: For more information about Recurring Billing, see the [Recurring Billing Developer Guide](https://developer.cybersource.com/docs/cybs/en-us/recurring-billing/developer/all/rest/recurring-billing-developer/recur-bill-services-intro.html).
- name: BIN_Lookup
description: 'The BIN Lookup Service is a versatile business tool that provides card network agnostic solution designed to ensure frictionless transaction experience by utilizing up-to-date Bank Identification Number (BIN) attributes sourced from multiple global and regional data sources.
This service helps to improve authorization rates by helping to route transactions to the best-suited card network, minimizes fraud through card detail verification and aids in regulatory compliance by identifying card properties. The service is flexible and provides businesses with a flexible choice of inputs such as primary account number (PAN), network token from major networks (such as Visa, American Express, Discover and regional networks) which includes device PAN (DPAN), and all types of tokens generated via CyberSource Token Management Service (TMS).
Currently, the range of available credentials is contingent on the networks enabled for the business entity. Therefore, the network information specified in this documentation is illustrative and subject to personalized offerings for each reseller or merchant.
'
- name: Transaction_Details
description: For more information about Transaction Details, see the [Transaction Details Developer Guides Page](https://developer.cybersource.com/api/developer-guides/dita-txn-search-details-rest-api-dev-guide-102718/txn_details_api.html).
- name: Transaction_Search
description: For more information about Transaction Search, see the [Transaction Search Developer Guides Page](https://developer.cybersource.com/api/developer-guides/dita-txn-search-details-rest-api-dev-guide-102718/txn_search_api.html).
- name: Reporting
description: 'For more information about Reporting, see the [Reporting Developer Guides Page](https://developer.cybersource.com/api/developer-guides/dita-reporting-rest-api-dev-guide-102718/reporting_api.html).
'
- name: Secure_File_Share
description: For more information about Secure File Share, see the [Secure File Share Developer Guides Page](https://developer.cybersource.com/api/developer-guides/dita-secure-file-share-api-102718/secure_file_share_api_intro.html).
- name: Invoices
description: For more information about Invoicing, see the [Invoicing Developer Guide](https://developer.cybersource.com/docs/cybs/en-us/invoicing/developer/all/rest/invoicing/Introduction.html).
- name: Pay_By_Link
description: For more information about PayByLink, see the [PBL Developer Guide](https://developer.cybersource.com/docs/cybs/en-us/boarding/user/all/rest/boarding/templates-matrix-intro/templates-matrix-pay-by-link.html).
- name: User_Management
description: For more information about User Management, see the [User Managment Developer Guides Page](https://developer.cybersource.com/api/devel
# --- truncated at 32 KB (37 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/cybersource/refs/heads/main/openapi/cybersource-merchant-defined-fields-api-openapi.yml