Create Payment Series
POST/payment-series
Creates a new payment series based on the provided details.
The request must provide the following header: x-api-key: {merchantKey}
Request
Header Parameters
Must be application/json
Must be be en-US
The origin of the request
The client making the request
x-api-key: {merchantKey}
- application/json
Body
required
Possible values: <= 125 characters
Customer Account ID - A unique identifier provided by the integrating merchant by which the user's account could be identified e.g., customer number
Currency code (e.g., EUR) Format: ISO 4217
Field that allows the merchant to store a specific value for external reference. Available as a filtering field.
Possible values: <= 255 characters
Field that allows the merchant to store a specific metadata linked with the payment series.
billingAddress
object
required
Billing or shipping address of the consumer. Please refer to Data Model for details.
Possible values: <= 60 characters
Address line 1.
Possible values: <= 60 characters
Address line 2.
Possible values: <= 60 characters
Address line 3.
Possible values: <= 10 characters
House number/building number.
Possible values: <= 50 characters
City name of the address.
Possible values: <= 10 characters
Postal code of the address.
Possible values: >= 2 characters
and <= 3 characters
Country code. Could be 2 or 3 characters depending on the format used. Format ISO 3166 ALPHA-2 or ISO 3166 ALPHA-3.
Possible values: <= 3 characters
State. Could be 2 or 3 characters depending on the state. This field is mandatory when the countryCode is US, USA, CA or CAN.
shippingAddress
object
Billing or shipping address of the consumer. Please refer to Data Model for details.
Possible values: <= 60 characters
Address line 1.
Possible values: <= 60 characters
Address line 2.
Possible values: <= 60 characters
Address line 3.
Possible values: <= 10 characters
House number/building number.
Possible values: <= 50 characters
City name of the address.
Possible values: <= 10 characters
Postal code of the address.
Possible values: >= 2 characters
and <= 3 characters
Country code. Could be 2 or 3 characters depending on the format used. Format ISO 3166 ALPHA-2 or ISO 3166 ALPHA-3.
Possible values: <= 3 characters
State. Could be 2 or 3 characters depending on the state. This field is mandatory when the countryCode is US, USA, CA or CAN.
consumer
object
nullable
Consumer's personal data, in case the consumer is a physical person. See consumer
in Data model.
Conditional. Can be present if businessConsumer
is missing from the request.
Possible values: <= 60 characters
First name of the consumer.
Possible values: <= 60 characters
Last name of the consumer.
Possible values: <= 60 characters
Middle name of the consumer.
Possible values: <= 255 characters
Email address of the customer.
Possible values: <= 3 characters
, [Mr
, Mrs
, Ms
]
Title of the consumer.
Possible values: <= 5 characters
Consists of ISO 639-1 language code and ISO 3166-1 alpha-2 country code separated by dash. If this value is not provided the browser culture is used. Default culture is English (e.g.,, en-de). This field is not case sensitive.
Date of birth. Dummy data acceptable. Format “YYYY-MM-DD”.
Possible values: [M
, F
, D
]
Gender of the consumer.
Possible values: <= 30 characters
Mobile phone of the customer.
Possible values: <= 30 characters
Home phone of the customer.
Possible values: <= 30 characters
Work phone of the customer.
Possible values: <= 30 characters
Tax ID of the consumer.
businessConsumer
object
nullable
Company data, in case the consumer is a business or a legal entity. See businessConsumer
in Data model.
Conditional. Can be present if consumer
is missing from the request.
Possible values: <= 100 characters
Company legal entity name.
Possible values: <= 100 characters
Company legal entity type (e.g., GmbH).
Possible values: <= 255 characters
Customer's email address.
Possible values: <= 30 characters
Tax identification number.
Possible values: <= 5 characters
Consists of ISO 639-1 language code and ISO 3166-1 alpha-2 country code separated by dash. If this value is not provided the browser culture is used. Default culture is English (e.g.,, en-de). This field is not case sensitive.
Possible values: <= 50 characters
Company registration number
Possible values: >= 2 characters
and <= 3 characters
ISO 3166-1 alpha-2 or ISO 3166-1 alpha-3 code of the address country.
extraInfo
object
Extra information to define the product group, to display different set of payment options (Card, SEPA, PayPal...) for different products.
Possible values: <= 100 characters
Product group label
customReferences
object
Custom references for external party usage
Possible values: <= 255 characters
Custom reference 1 for external party usage
Possible values: <= 255 characters
Custom reference 2 for external party usage
Possible values: <= 255 characters
Custom reference 3 for external party usage
billingAgreement
object
Billing Agreement linked to the PS.
Possible values: <= 36 characters
Under the object billingAgreement
. Reference of an already stored payment option under the same businessConsumer
. Conditionally used for SEPA B2B flow and Bacs mandate.
Responses
- 201
- 400
- 401
- 403
- 404
- 500
Payment series created successfully
- application/json
- Schema
- Example (from schema)
Schema
Unique Identifier of the Payment Series. Format: PaymentSeries + - + <UUID>
Timestamp of when the payment series was created.
Timestamp of when the payment series was last updated.
Timestamp of when the payment series was deleted (if applicable).
Possible values: <= 125 characters
Customer Account ID - A unique identifier provided by the integrating merchant by which the user's account could be identified e.g., customer number For subscription Module, SmartPay checks if an account exists, if so, your end customer would be able to see their previously stored payment instruments, if any.
Possible values: >= 3 characters
and <= 3 characters
Currency code. Format ISO 4217.
Possible values: <= 255 characters
Field that allows the merchant to store a specific value for external reference. Available as a filtering field.
Possible values: <= 255 characters
Field that allows the merchant to store a specific metadata linked with the payment series.
Possible values: <= 255 characters
Integrating merchant could link any custom reference on their end to the payment series through this field.
billingAgreement
object
Billing Agreement linked to the Subscription.
Hosting the payment instrument information returned as null for newly created subscription.
Possible values: <= 50 characters
Unique Identifier of the Billing Agreement. Format: BillingAgreement + - + <UUID>
PaymentObject used for billing this subscription.
Possible values: <= 24 characters
Date when the billing agreement was created.
Possible values: <= 255 characters
Display name of the payment option which has been stored.
Possible values: <= 255 characters
Code of the payment option which has been stored.
Masked carrier number of the payment instrument which has been stored.
Possible values: [true
, false
]
Indicates if a card used as a payment option is expired or not.
Possible values: <= 7 characters
, Value must match regular expression ^(0[1-9]|1[0-2])/[0-9]{4}$
If a card is used as a payment option, this shows its expiry date.
Additional data related to the stored payment option.
billingAddress
object
required
Billing or shipping address of the consumer. Please refer to Data Model for details.
Possible values: <= 60 characters
Address line 1.
Possible values: <= 60 characters
Address line 2.
Possible values: <= 60 characters
Address line 3.
Possible values: <= 10 characters
House number/building number.
Possible values: <= 50 characters
City name of the address.
Possible values: <= 10 characters
Postal code of the address.
Possible values: >= 2 characters
and <= 3 characters
Country code. Could be 2 or 3 characters depending on the format used. Format ISO 3166 ALPHA-2 or ISO 3166 ALPHA-3.
Possible values: <= 3 characters
State. Could be 2 or 3 characters depending on the state. This field is mandatory when the countryCode is US, USA, CA or CAN.
shippingAddress
object
Billing or shipping address of the consumer. Please refer to Data Model for details.
Possible values: <= 60 characters
Address line 1.
Possible values: <= 60 characters
Address line 2.
Possible values: <= 60 characters
Address line 3.
Possible values: <= 10 characters
House number/building number.
Possible values: <= 50 characters
City name of the address.
Possible values: <= 10 characters
Postal code of the address.
Possible values: >= 2 characters
and <= 3 characters
Country code. Could be 2 or 3 characters depending on the format used. Format ISO 3166 ALPHA-2 or ISO 3166 ALPHA-3.
Possible values: <= 3 characters
State. Could be 2 or 3 characters depending on the state. This field is mandatory when the countryCode is US, USA, CA or CAN.
consumer
object
nullable
Consumer's personal data, in case the consumer is a physical person. See consumer
in Data model.
Conditional. Can be present if businessConsumer
is missing from the request.
Possible values: <= 60 characters
First name of the consumer.
Possible values: <= 60 characters
Last name of the consumer.
Possible values: <= 60 characters
Middle name of the consumer.
Possible values: <= 255 characters
Email address of the customer.
Possible values: <= 3 characters
, [Mr
, Mrs
, Ms
]
Title of the consumer.
Possible values: <= 5 characters
Consists of ISO 639-1 language code and ISO 3166-1 alpha-2 country code separated by dash. If this value is not provided the browser culture is used. Default culture is English (e.g.,, en-de). This field is not case sensitive.
Date of birth. Dummy data acceptable. Format “YYYY-MM-DD”.
Possible values: [M
, F
, D
]
Gender of the consumer.
Possible values: <= 30 characters
Mobile phone of the customer.
Possible values: <= 30 characters
Home phone of the customer.
Possible values: <= 30 characters
Work phone of the customer.
Possible values: <= 30 characters
Tax ID of the consumer.
businessConsumer
object
nullable
Company data, in case the consumer is a business or a legal entity. See businessConsumer
in Data model.
Conditional. Can be present if consumer
is missing from the request.
Possible values: <= 60 characters
First name of the consumer.
Possible values: <= 60 characters
Last name of the consumer.
Possible values: <= 60 characters
Middle name of the consumer.
Possible values: <= 255 characters
Email address of the customer.
Possible values: <= 3 characters
, [Mr
, Mrs
, Ms
]
Title of the consumer.
Possible values: <= 5 characters
Consists of ISO 639-1 language code and ISO 3166-1 alpha-2 country code separated by dash. If this value is not provided the browser culture is used. Default culture is English (e.g.,, en-de). This field is not case sensitive.
Date of birth. Dummy data acceptable. Format “YYYY-MM-DD”.
Possible values: [M
, F
, D
]
Gender of the consumer.
Possible values: <= 30 characters
Mobile phone of the customer.
Possible values: <= 30 characters
Home phone of the customer.
Possible values: <= 30 characters
Work phone of the customer.
Possible values: <= 30 characters
Tax ID of the consumer.
customReferences
object
Custom references for external party usage
Possible values: <= 255 characters
Custom reference 1 for external party usage
Possible values: <= 255 characters
Custom reference 2 for external party usage
Possible values: <= 255 characters
Custom reference 3 for external party usage
criteria
object
An array of key-value pair objects. Please refer to Data Model for details.
Possible values: <= 50 characters
Parameter name.
Possible values: <= 100 characters
Parameter value.
If provided, the payment is processed in favour of the indicated sub-merchant account, and the main merchant account number is ignored.
{
"id": "PaymentSeries-fe3f839f-c8b5-48cd-a4f4-cbbb3766013b",
"createdAt": "2021-05-10T15:38:01.02Z",
"updatedAt": "2021-05-10T15:38:01.02Z",
"deletedAt": null,
"customerAccountId": "NewcustomerTestPSerie00",
"currencyIsoCode": "EUR",
"externalMerchantId": "MerchantExternalIDPSeries01",
"merchantMetadata": "{ \"clientId\": 453456790 }",
"externalReference": "PaymentSeries 1 Payment 1",
"billingAgreement": null,
"billingAddress": {
"addressLine1": "Leopoldstrasse",
"number": "244",
"city": "Munich",
"postCode": "80807",
"countryCode": "DE"
},
"shippingAddress": {
"addressLine1": "Leopoldstrasse",
"number": "244",
"city": "Munich",
"postCode": "80807",
"countryCode": "DE"
},
"consumer": {
"firstName": "FirstNameA",
"lastName": "LastNameA",
"emailAddress": "NewcustomerTestPSerie00@mail.com",
"title": "Mr",
"culture": "en-en",
"dateOfBirth": "1995-01-26",
"gender": "M",
"mobilePhone": "1234567890",
"homePhone": "1234567891",
"workPhone": "1234567892"
},
"customReferences": {
"custom1": "custom reference 1",
"custom2": "custom reference 2",
"custom3": null
}
}
Bad Request
For error handling, please refer to this section.
- application/json
- Schema
- Example (from schema)
- Example
Schema
Array [
]
Internally generated trace_id
for this error message so it can be found easily in the logs.
errors
object[]
A predefined string which describes the error. The purpose of the message is to allow for future usage of translation.
A pre-defined code from the list of error codes.
The property from the request object which the error is linked to.
context
object
A json object containing a list of predefined properties which are filled based on the error.
{
"traceId": "string",
"errors": [
{
"message": "string",
"code": "string",
"property": "string",
"context": {
"type": "string",
"minimum": 0,
"maximum": 0,
"maxLength": 0,
"allowedValues": [
"string"
]
}
}
]
}
{
"traceId": "00-1234567890abcdef0123456789abcdef-0123456789abcdef-00",
"errors": [
{
"message": "Value out of bounds. Value must be between 1 and 100",
"code": "value_out_of_bounds",
"property": "someField",
"context": {
"minimum": 1,
"maximum": 100
}
}
]
}
Unauthenticated
For error handling, please refer to this section.
- application/json
- Schema
- Example (from schema)
- Example
Schema
Array [
]
Internally generated trace_id
for this error message so it can be found easily in the logs.
errors
object[]
A predefined string which describes the error. The purpose of the message is to allow for future usage of translation.
A pre-defined code from the list of error codes.
The property from the request object which the error is linked to.
context
object
A json object containing a list of predefined properties which are filled based on the error.
{
"traceId": "string",
"errors": [
{
"message": "string",
"code": "string",
"property": "string",
"context": {
"type": "string",
"minimum": 0,
"maximum": 0,
"maxLength": 0,
"allowedValues": [
"string"
]
}
}
]
}
{
"traceId": "00-1234567890abcdef0123456789abcdef-0123456789abcdef-00",
"errors": [
{
"message": "You are not authenticated to perform this request.",
"code": "unauthorized"
}
]
}
Forbidden
For error handling, please refer to this section.
- application/json
- Schema
- Example (from schema)
- Example
Schema
Array [
]
Internally generated trace_id
for this error message so it can be found easily in the logs.
errors
object[]
A predefined string which describes the error. The purpose of the message is to allow for future usage of translation.
A pre-defined code from the list of error codes.
The property from the request object which the error is linked to.
context
object
A json object containing a list of predefined properties which are filled based on the error.
{
"traceId": "string",
"errors": [
{
"message": "string",
"code": "string",
"property": "string",
"context": {
"type": "string",
"minimum": 0,
"maximum": 0,
"maxLength": 0,
"allowedValues": [
"string"
]
}
}
]
}
{
"traceId": "00-1234567890abcdef0123456789abcdef-0123456789abcdef-00",
"errors": [
{
"message": "You do not have permissions to perform this request.",
"code": "forbidden"
}
]
}
Not Found
For error handling, please refer to this section.
- application/json
- Schema
- Example (from schema)
- Example
Schema
Array [
]
Internally generated trace_id
for this error message so it can be found easily in the logs.
errors
object[]
A predefined string which describes the error. The purpose of the message is to allow for future usage of translation.
A pre-defined code from the list of error codes.
The property from the request object which the error is linked to.
context
object
A json object containing a list of predefined properties which are filled based on the error.
{
"traceId": "string",
"errors": [
{
"message": "string",
"code": "string",
"property": "string",
"context": {
"type": "string",
"minimum": 0,
"maximum": 0,
"maxLength": 0,
"allowedValues": [
"string"
]
}
}
]
}
{
"traceId": "00-1234567890abcdef0123456789abcdef-0123456789abcdef-00",
"errors": [
{
"message": "Resource not found.",
"code": "not_found"
}
]
}
Internal Server Error
For error handling, please refer to this section.
- application/json
- Schema
- Example (from schema)
- Example
Schema
Array [
]
Internally generated trace_id
for this error message so it can be found easily in the logs.
errors
object[]
A predefined string which describes the error. The purpose of the message is to allow for future usage of translation.
A pre-defined code from the list of error codes.
The property from the request object which the error is linked to.
context
object
A json object containing a list of predefined properties which are filled based on the error.
{
"traceId": "string",
"errors": [
{
"message": "string",
"code": "string",
"property": "string",
"context": {
"type": "string",
"minimum": 0,
"maximum": 0,
"maxLength": 0,
"allowedValues": [
"string"
]
}
}
]
}
{
"traceId": "00-1234567890abcdef0123456789abcdef-0123456789abcdef-00",
"errors": [
{
"message": "Internal server error."
}
]
}