Refund
POST/transaction/:apiKey/refund
A refund transaction reverses a payment which was previously performed with Debit or Capture.
Depending on the payment method you can even refund only a partial amount of the original transaction amount.
Request
Path Parameters
Possible values: <= 50 characters
API Key of Connector
- application/json
Bodyrequired
required
Data which is required to process a refund
Array [
Array [
]
]
Array [
]
Array [
]
A unique identifier supplied by the merchant to track transactions within their own systems.
This field links the platform’s transaction back to the merchant’s system, allowing for easy tracking and reconciliation. Note that while this ID is used within the platform, there is no guarantee that it will be forwarded to the Payment Service Provider (PSP).
Possible values: non-empty
and <= 50 characters
c5f2accd-2c37-4b2c-bb03-22d168c25a74
A supplementary identifier dependent on the used adapter.
This field provides additional information that can be used based on the specific adapter and their field mappings.
The usage of additionalId1
is contingent upon the support provided by the PSP,
which is detailed in the adapter-specific documentation.
If this field is supported, its proper usage will be outlined there.
If it is not mentioned, it should not be used to avoid integration issues.
Always refer to the adapter-specific documentation for guidance on using this additional identifier correctly.
Possible values: non-empty
and <= 50 characters
A supplementary identifier dependent on the used adapter.
This field provides additional information that can be used based on the specific adapter and their field mappings.
The usage of additionalId2
is contingent upon the support provided by the PSP,
which is detailed in the adapter-specific documentation.
If this field is supported, its proper usage will be outlined there.
If it is not mentioned, it should not be used to avoid integration issues.
Always refer to the adapter-specific documentation for guidance on using this additional identifier correctly.
Possible values: non-empty
and <= 50 characters
extraData
object
Object containing key-value pairs (string-to-string), to be used by either the upstream Adapter, the Risk Engine etc.
Possible values: <= 64
.
Property name: <= 64 characters
.
Property value: <= 8192 characters
.
pspPassthroughData
object
Object containing key-value pars (string-to-string) to be passed to the PSP.
Possible values: <= 64
.
Property name: <= 64 characters
.
Property value: <= 8192 characters
.
Possible values: <= 255 characters
Possible values: non-empty
and <= 50 characters
Decimal amount separated by .
, maximum of 3 decimals.
Possible values: Value must match regular expression ^(([0-9]{1,10})|([0-9]{1,10}\.[0-9]{1,3}))$
9.99
ISO 4217 three-letter currency code.
Possible values: Value must match regular expression ^[A-Z]{3}$
EUR
Possible values: <= 255 characters
Possible values: <= 8192 characters
Possible values: <= 255 characters
items
object[]
List of items sold.
Maximum JSON size: <= 32768 bytes
.
Possible values: <= 128
Possible values: <= 128 characters
Possible values: <= 256 characters
Possible values: <= 2048 characters
Possible values: >= 1
Possible values: >= 1
ISO 4217 three-letter currency code.
Possible values: Value must match regular expression ^[A-Z]{3}$
EUR
l2l3Data
object
Possible values: <= 32 characters
Possible values: <= 16 characters
Decimal amount separated by .
, maximum of 3 decimals.
Possible values: Value must match regular expression ^(([0-9]{1,10})|([0-9]{1,10}\.[0-9]{1,3}))$
9.99
Decimal amount separated by .
, maximum of 3 decimals.
Possible values: Value must match regular expression ^(([0-9]{1,10})|([0-9]{1,10}\.[0-9]{1,3}))$
9.99
Decimal amount separated by .
, maximum of 3 decimals.
Possible values: Value must match regular expression ^(([0-9]{1,10})|([0-9]{1,10}\.[0-9]{1,3}))$
9.99
Decimal amount separated by .
, maximum of 3 decimals.
Possible values: Value must match regular expression ^(([0-9]{1,10})|([0-9]{1,10}\.[0-9]{1,3}))$
9.99
Decimal amount separated by .
, maximum of 3 decimals.
Possible values: Value must match regular expression ^(([0-9]{1,10})|([0-9]{1,10}\.[0-9]{1,3}))$
9.99
Possible values: <= 64 characters
taxDetails
object[]
Possible values: <= 10
Possible values: <= 255 characters
Decimal amount separated by .
, maximum of 3 decimals.
Possible values: Value must match regular expression ^(([0-9]{1,10})|([0-9]{1,10}\.[0-9]{1,3}))$
9.99
Decimal amount separated by .
, maximum of 3 decimals.
Possible values: Value must match regular expression ^(([0-9]{1,10})|([0-9]{1,10}\.[0-9]{1,3}))$
9.99
Possible values: <= 255 characters
Possible values: <= 255 characters
Possible values: <= 255 characters
Possible values: <= 255 characters
extraData
object
Object containing key-value pairs (string-to-string), to be used by either the upstream Adapter, the Risk Engine etc.
Possible values: <= 64
.
Property name: <= 64 characters
.
Property value: <= 8192 characters
.
splits
object[]
Possible values: <= 10
Possible values: <= 11 characters
Decimal amount separated by .
, maximum of 3 decimals.
Possible values: Value must match regular expression ^(([0-9]{1,10})|([0-9]{1,10}\.[0-9]{1,3}))$
9.99
ISO 4217 three-letter currency code.
Possible values: Value must match regular expression ^[A-Z]{3}$
EUR
Possible values: <= 11 characters
Possible values: <= 128 characters
commissionFee
object
Decimal amount separated by .
, maximum of 3 decimals.
Possible values: Value must match regular expression ^(([0-9]{1,10})|([0-9]{1,10}\.[0-9]{1,3}))$
9.99
ISO 4217 three-letter currency code.
Possible values: Value must match regular expression ^[A-Z]{3}$
EUR
l2l3Data
object
Level 2 & level 3 data.
Possible values: <= 15 characters
Possible values: <= 255 characters
Possible values: <= 5 characters
Decimal amount separated by .
, maximum of 3 decimals.
Possible values: Value must match regular expression ^(([0-9]{1,10})|([0-9]{1,10}\.[0-9]{1,3}))$
9.99
Possible values: <= 255 characters
Decimal amount separated by .
, maximum of 3 decimals.
Possible values: Value must match regular expression ^(([0-9]{1,10})|([0-9]{1,10}\.[0-9]{1,3}))$
9.99
Decimal amount separated by .
, maximum of 3 decimals.
Possible values: Value must match regular expression ^(([0-9]{1,10})|([0-9]{1,10}\.[0-9]{1,3}))$
9.99
Decimal amount separated by .
, maximum of 3 decimals.
Possible values: Value must match regular expression ^(([0-9]{1,10})|([0-9]{1,10}\.[0-9]{1,3}))$
9.99
taxDetails
object[]
Possible values: <= 10
Possible values: <= 255 characters
Decimal amount separated by .
, maximum of 3 decimals.
Possible values: Value must match regular expression ^(([0-9]{1,10})|([0-9]{1,10}\.[0-9]{1,3}))$
9.99
Decimal amount separated by .
, maximum of 3 decimals.
Possible values: Value must match regular expression ^(([0-9]{1,10})|([0-9]{1,10}\.[0-9]{1,3}))$
9.99
Possible values: <= 255 characters
Possible values: <= 255 characters
Possible values: <= 255 characters
Possible values: <= 255 characters
Responses
- 200
- 400
- 422
Transaction response
- application/json
- Schema
- Example (from schema)
- Finished
- Redirect
- Processing error
Schema
- true
- false
-
FINISHED
The transaction completed and was processed successfully. You can deliver the ordered goods.
-
ERROR
The transaction failed or was declined. See the error code and message for further details.
You will find the native error message and code from the payment provider/acquiring bank in the fields
adapterMessage
andadapterCode
.Note: Merchant Advice Code
When supported by an adapter implementation, a merchant advice code can be returned with the
ReturnData
.This code is piped through as received by the gateway.
If a merchant advice code indicating a hard "do not retry" is returned, the value
"doNotResubmit": true
will additionally be returned with the error response extra data. -
REDIRECT
You must redirect the user to the URL defined in
redirectUrl
to proceed with the transaction. Afterwards the user will be back redirected to your website (one of the URLs you defined in the API call insuccessUrl
,cancelUrl
orerrorUrl
). In parallel thesends a status notification to you callbackUrl
with the final result.Note:
For the final result you should only trust the notification, NOT the back redirection!
-
PENDING
The transaction was accepted for processing, but is not yet completed. You will receive a status notification to the URL you defined in
callbackUrl
once it reaches a final state.Depending on the payment method, this can take from seconds up to several days.
- cardData
- phoneData
- ibanData
- walletData
- achData
01
- Additional information needed.02
- Try again later.03
- Do not try again.Array [
]
Array [
]
success
string
required
Returns true
or false
depending on whether the request was successful.
Possible values: [true
, false
]
Returns true
or false
depending on whether the request was successful.
UUID of the transaction.
Purchase ID of the transaction.
Depending on the returnType
a transaction is finished, intermediate, or failed.
Possible values: [FINISHED
, REDIRECT
, HTML
, PENDING
, ERROR
, PENDING_DCC
]
Depending on the redirectType
the URL from redirectUrl
should be displayed either in an <iframe>
,
in a full page (e.g. via a HTTP 302
redirect with a Location
header).
Possible values: [iframe
, fullpage
]
URL the customer must be redirected to, only set if "returnType": "REDIRECT"
.
Possible values: <= 255 characters
QR Code with redirectUrl base64 encoded.
HTML content the customer must be shown, only set if "returnType": "HTML"
.
Payment method used - if it has already been determined.
returnData
object
_TYPE
string
required
Possible values: [cardData
, phoneData
, ibanData
, walletData
, achData
]
Type of credit card
ISO 3166-1 alpha-2 country code.
Possible values: Value must match regular expression ^[A-Z]{2}$
AT
Possible values: Value must match regular expression ^((0[1-9])|(1[0-2]))$
Possible values: Value must match regular expression ^[0-9]{4}$
Possible values: Value must match regular expression ^[0-9]{6-8}$
Possible values: Value must match regular expression ^[0-9]{6}$
Possible values: Value must match regular expression ^[0-9]{4}$
Triggers the 3D Secure authentication for this transaction.
Possible values: [OFF
, OPTIONAL
, MANDATORY
]
Pipes through the merchant advice code for failed transactions if supported by the adapter.
Merchant advice code for failed transactions if supported by the adapter.
Possible values: [01
, 02
, 03
]
The schemeTransactionIdentifier
, is a unique reference generated by a card scheme.
It serves the purpose of traceability back to the initial transaction.
It is also referred to as the 'scheme reference ID,' 'scheme transaction ID,' 'trace ID' (for Mastercard), or 'transaction ID' (for VISA).
Status of the last account updater run.
Only non-null if the account updater is enabled and has run at least once.
Possible values: [updated
, contact
, new-expiry
, closed
]
Last run of the account updater.
Only non-null if the account updater is enabled and has run at least once.
RFC 3339 Internet Date/Time Format full-date
.
Possible values: Value must match regular expression ^[0-9]{4}-((0[1-9])|(1[0-2]))-((0[1-9])|([1-2][0-9])|(3[0-1]))$
2001-02-03
ISO 3166-1 alpha-2 country code.
Possible values: Value must match regular expression ^[A-Z]{2}$
AT
RFC 3339 Internet Date/Time Format full-date
.
Possible values: Value must match regular expression ^[0-9]{4}-((0[1-9])|(1[0-2]))-((0[1-9])|([1-2][0-9])|(3[0-1]))$
2001-02-03
ISO 3166-1 alpha-2 country code.
Possible values: Value must match regular expression ^[A-Z]{2}$
AT
Reference ID of the wallet.
Owner of the wallet.
Type of wallet.
First name of wallet owner.
Last name of wallet owner.
Country code of wallet owner.
UUID of the transaction that initially registered this wallet.
Possible values: [person
, company
]
Possible values: [checking
, savings
]
Possible values: <= 17 characters
Possible values: >= 9 characters
and <= 9 characters
scheduleData
object
ID of schedule which was started with the transaction.
Status of the schedule.
Possible values: [ACTIVE
, PAUSED
, CANCELLED
, ERROR
, CREATE-PENDING
, NON-EXISTING
]
RFC 3339 Internet Date/Time Format date-time
Possible values: Value must match regular expression ^[0-9]{4}-((0[1-9])|(1[0-2]))-((0[1-9])|([1-2][0-9])|(3[0-1]))T(([0-1][0-9])|([2][0-3])):([0-5][0-9]):([0-5][0-9])\+[0-9]{2}\:[0-9]{2}$
2001-02-03T04:05:06+02:00
customerProfileData
object
The unique customer profile identifier generated by the platform.
The customer profile identifier provided by you when creating the customer profile. Unique within one customer profile container.
The created payment instrument for the customer profile, use with transactionToken
when creating new transactions.
Whether this payment instrument was marked as preferred for the customer.
riskCheckData
object
Possible values: [APPROVED
, DECLINED
, REVIEW
]
errors
object[]
Error message.
While the errorMessage
field provides useful context for understanding the nature of the error, it's important to note that the content of this message can vary based on specific circumstances.
For consistent and reliable error handling in your application, always base your logic on the errorCode
field, not the errorMessage
.
Error code.
For a complete list of error codes and their meanings, please see the appendix on Error codes.
Adapter specific error message, passed verbatim from the upstream Adapter.
Adapter specific error code, passed verbatim from the upstream Adapter.
extraData
object
Object containing key-value pairs (string-to-string), to be used by either the upstream Adapter, the Risk Engine etc.
Possible values: <= 64
.
Property name: <= 64 characters
.
Property value: <= 8192 characters
.
dccData
object
Decimal amount separated by .
, maximum of 3 decimals.
Possible values: Value must match regular expression ^(([0-9]{1,10})|([0-9]{1,10}\.[0-9]{1,3}))$
9.99
ISO 4217 three-letter currency code.
Possible values: Value must match regular expression ^[A-Z]{3}$
EUR
Decimal amount separated by .
, maximum of 3 decimals.
Possible values: Value must match regular expression ^(([0-9]{1,10})|([0-9]{1,10}\.[0-9]{1,3}))$
9.99
ISO 4217 three-letter currency code.
Possible values: Value must match regular expression ^[A-Z]{3}$
EUR
payByLinkData
object
true
if this transaction was a Pay-by-Link transaction.
true
if this Pay-by-Link was sent to the transaction customer via email.
Endpoint to call to cancel a Pay-by-Link transaction.
For details, see Pay-by-Link API reference.
Indicates at what date time the Pay-by-Link transaction expires.
Error message.
While the errorMessage
field provides useful context for understanding the nature of the error, it's important to note that the content of this message can vary based on specific circumstances.
For consistent and reliable error handling in your application, always base your logic on the errorCode
field, not the errorMessage
.
Error code.
For a complete list of error codes and their meanings, please see the appendix on Error codes.
Adapter specific error message, passed verbatim from the upstream Adapter.
Adapter specific error code, passed verbatim from the upstream Adapter.
Possible values: [ERROR
]
errors
object[]
Error message.
While the errorMessage
field provides useful context for understanding the nature of the error, it's important to note that the content of this message can vary based on specific circumstances.
For consistent and reliable error handling in your application, always base your logic on the errorCode
field, not the errorMessage
.
Error code.
For a complete list of error codes and their meanings, please see the appendix on Error codes.
Adapter specific error message, passed verbatim from the upstream Adapter.
Adapter specific error code, passed verbatim from the upstream Adapter.
{
"success": true
}
"returnType": "FINISHED"
indicates a successfully completed refund payment.
{
"success": true,
"uuid": "abcde12345abcde12345",
"purchaseId": "20190927-abcde12345abcde12345",
"returnType": "FINISHED",
"paymentMethod": "Creditcard"
}
Redirect indicates that the customer should be redirected to the URL in redirectURL
.
{
"success": true,
"uuid": "abcde12345abcde12345",
"purchaseId": "20190927-abcde12345abcde12345",
"returnType": "REDIRECT",
"redirectUrl": "https://gateway.ixopay.com/redirect-url",
"redirectQRCode": "data:image/png;base64,ABCDEFGHIJKLMNOPQRSTUVWXYZ",
"paymentMethod": "Creditcard"
}
An error occurred on the PSPs side.
{
"success": false,
"uuid": "abcde12345abcde12345",
"purchaseId": "20200924-abcde12345abcde12345",
"returnType": "ERROR",
"paymentMethod": "Dummy",
"errors": [
{
"errorMessage": "Dummy error",
"errorCode": 1003,
"adapterMessage": "Dummy adapter error"
}
]
}
Transaction error response
- application/json
- Schema
- Example (from schema)
- General error, e.g. duplicate
Schema
- true
- false
-
FINISHED
The transaction completed and was processed successfully. You can deliver the ordered goods.
-
ERROR
The transaction failed or was declined. See the error code and message for further details.
You will find the native error message and code from the payment provider/acquiring bank in the fields
adapterMessage
andadapterCode
.Note: Merchant Advice Code
When supported by an adapter implementation, a merchant advice code can be returned with the
ReturnData
.This code is piped through as received by the gateway.
If a merchant advice code indicating a hard "do not retry" is returned, the value
"doNotResubmit": true
will additionally be returned with the error response extra data. -
REDIRECT
You must redirect the user to the URL defined in
redirectUrl
to proceed with the transaction. Afterwards the user will be back redirected to your website (one of the URLs you defined in the API call insuccessUrl
,cancelUrl
orerrorUrl
). In parallel thesends a status notification to you callbackUrl
with the final result.Note:
For the final result you should only trust the notification, NOT the back redirection!
-
PENDING
The transaction was accepted for processing, but is not yet completed. You will receive a status notification to the URL you defined in
callbackUrl
once it reaches a final state.Depending on the payment method, this can take from seconds up to several days.
- cardData
- phoneData
- ibanData
- walletData
- achData
01
- Additional information needed.02
- Try again later.03
- Do not try again.Array [
]
Array [
]
success
string
required
Returns true
or false
depending on whether the request was successful.
Possible values: [true
, false
]
Returns true
or false
depending on whether the request was successful.
UUID of the transaction.
Purchase ID of the transaction.
Depending on the returnType
a transaction is finished, intermediate, or failed.
Possible values: [FINISHED
, REDIRECT
, HTML
, PENDING
, ERROR
, PENDING_DCC
]
Depending on the redirectType
the URL from redirectUrl
should be displayed either in an <iframe>
,
in a full page (e.g. via a HTTP 302
redirect with a Location
header).
Possible values: [iframe
, fullpage
]
URL the customer must be redirected to, only set if "returnType": "REDIRECT"
.
Possible values: <= 255 characters
QR Code with redirectUrl base64 encoded.
HTML content the customer must be shown, only set if "returnType": "HTML"
.
Payment method used - if it has already been determined.
returnData
object
_TYPE
string
required
Possible values: [cardData
, phoneData
, ibanData
, walletData
, achData
]
Type of credit card
ISO 3166-1 alpha-2 country code.
Possible values: Value must match regular expression ^[A-Z]{2}$
AT
Possible values: Value must match regular expression ^((0[1-9])|(1[0-2]))$
Possible values: Value must match regular expression ^[0-9]{4}$
Possible values: Value must match regular expression ^[0-9]{6-8}$
Possible values: Value must match regular expression ^[0-9]{6}$
Possible values: Value must match regular expression ^[0-9]{4}$
Triggers the 3D Secure authentication for this transaction.
Possible values: [OFF
, OPTIONAL
, MANDATORY
]
Pipes through the merchant advice code for failed transactions if supported by the adapter.
Merchant advice code for failed transactions if supported by the adapter.
Possible values: [01
, 02
, 03
]
The schemeTransactionIdentifier
, is a unique reference generated by a card scheme.
It serves the purpose of traceability back to the initial transaction.
It is also referred to as the 'scheme reference ID,' 'scheme transaction ID,' 'trace ID' (for Mastercard), or 'transaction ID' (for VISA).
Status of the last account updater run.
Only non-null if the account updater is enabled and has run at least once.
Possible values: [updated
, contact
, new-expiry
, closed
]
Last run of the account updater.
Only non-null if the account updater is enabled and has run at least once.
RFC 3339 Internet Date/Time Format full-date
.
Possible values: Value must match regular expression ^[0-9]{4}-((0[1-9])|(1[0-2]))-((0[1-9])|([1-2][0-9])|(3[0-1]))$
2001-02-03
ISO 3166-1 alpha-2 country code.
Possible values: Value must match regular expression ^[A-Z]{2}$
AT
RFC 3339 Internet Date/Time Format full-date
.
Possible values: Value must match regular expression ^[0-9]{4}-((0[1-9])|(1[0-2]))-((0[1-9])|([1-2][0-9])|(3[0-1]))$
2001-02-03
ISO 3166-1 alpha-2 country code.
Possible values: Value must match regular expression ^[A-Z]{2}$
AT
Reference ID of the wallet.
Owner of the wallet.
Type of wallet.
First name of wallet owner.
Last name of wallet owner.
Country code of wallet owner.
UUID of the transaction that initially registered this wallet.
Possible values: [person
, company
]
Possible values: [checking
, savings
]
Possible values: <= 17 characters
Possible values: >= 9 characters
and <= 9 characters
scheduleData
object
ID of schedule which was started with the transaction.
Status of the schedule.
Possible values: [ACTIVE
, PAUSED
, CANCELLED
, ERROR
, CREATE-PENDING
, NON-EXISTING
]
RFC 3339 Internet Date/Time Format date-time
Possible values: Value must match regular expression ^[0-9]{4}-((0[1-9])|(1[0-2]))-((0[1-9])|([1-2][0-9])|(3[0-1]))T(([0-1][0-9])|([2][0-3])):([0-5][0-9]):([0-5][0-9])\+[0-9]{2}\:[0-9]{2}$
2001-02-03T04:05:06+02:00
customerProfileData
object
The unique customer profile identifier generated by the platform.
The customer profile identifier provided by you when creating the customer profile. Unique within one customer profile container.
The created payment instrument for the customer profile, use with transactionToken
when creating new transactions.
Whether this payment instrument was marked as preferred for the customer.
riskCheckData
object
Possible values: [APPROVED
, DECLINED
, REVIEW
]
errors
object[]
Error message.
While the errorMessage
field provides useful context for understanding the nature of the error, it's important to note that the content of this message can vary based on specific circumstances.
For consistent and reliable error handling in your application, always base your logic on the errorCode
field, not the errorMessage
.
Error code.
For a complete list of error codes and their meanings, please see the appendix on Error codes.
Adapter specific error message, passed verbatim from the upstream Adapter.
Adapter specific error code, passed verbatim from the upstream Adapter.
extraData
object
Object containing key-value pairs (string-to-string), to be used by either the upstream Adapter, the Risk Engine etc.
Possible values: <= 64
.
Property name: <= 64 characters
.
Property value: <= 8192 characters
.
dccData
object
Decimal amount separated by .
, maximum of 3 decimals.
Possible values: Value must match regular expression ^(([0-9]{1,10})|([0-9]{1,10}\.[0-9]{1,3}))$
9.99
ISO 4217 three-letter currency code.
Possible values: Value must match regular expression ^[A-Z]{3}$
EUR
Decimal amount separated by .
, maximum of 3 decimals.
Possible values: Value must match regular expression ^(([0-9]{1,10})|([0-9]{1,10}\.[0-9]{1,3}))$
9.99
ISO 4217 three-letter currency code.
Possible values: Value must match regular expression ^[A-Z]{3}$
EUR
payByLinkData
object
true
if this transaction was a Pay-by-Link transaction.
true
if this Pay-by-Link was sent to the transaction customer via email.
Endpoint to call to cancel a Pay-by-Link transaction.
For details, see Pay-by-Link API reference.
Indicates at what date time the Pay-by-Link transaction expires.
Error message.
While the errorMessage
field provides useful context for understanding the nature of the error, it's important to note that the content of this message can vary based on specific circumstances.
For consistent and reliable error handling in your application, always base your logic on the errorCode
field, not the errorMessage
.
Error code.
For a complete list of error codes and their meanings, please see the appendix on Error codes.
Adapter specific error message, passed verbatim from the upstream Adapter.
Adapter specific error code, passed verbatim from the upstream Adapter.
Possible values: [ERROR
]
errors
object[]
Error message.
While the errorMessage
field provides useful context for understanding the nature of the error, it's important to note that the content of this message can vary based on specific circumstances.
For consistent and reliable error handling in your application, always base your logic on the errorCode
field, not the errorMessage
.
Error code.
For a complete list of error codes and their meanings, please see the appendix on Error codes.
Adapter specific error message, passed verbatim from the upstream Adapter.
Adapter specific error code, passed verbatim from the upstream Adapter.
{
"success": true
}
{
"success": false,
"errorMessage": "The transaction ID '20190823062178' already exists!",
"errorCode": 3004
}
Transaction error response
- application/json
- Schema
- Example (from schema)
- General error, e.g. validation
Schema
- true
- false
-
FINISHED
The transaction completed and was processed successfully. You can deliver the ordered goods.
-
ERROR
The transaction failed or was declined. See the error code and message for further details.
You will find the native error message and code from the payment provider/acquiring bank in the fields
adapterMessage
andadapterCode
.Note: Merchant Advice Code
When supported by an adapter implementation, a merchant advice code can be returned with the
ReturnData
.This code is piped through as received by the gateway.
If a merchant advice code indicating a hard "do not retry" is returned, the value
"doNotResubmit": true
will additionally be returned with the error response extra data. -
REDIRECT
You must redirect the user to the URL defined in
redirectUrl
to proceed with the transaction. Afterwards the user will be back redirected to your website (one of the URLs you defined in the API call insuccessUrl
,cancelUrl
orerrorUrl
). In parallel thesends a status notification to you callbackUrl
with the final result.Note:
For the final result you should only trust the notification, NOT the back redirection!
-
PENDING
The transaction was accepted for processing, but is not yet completed. You will receive a status notification to the URL you defined in
callbackUrl
once it reaches a final state.Depending on the payment method, this can take from seconds up to several days.
- cardData
- phoneData
- ibanData
- walletData
- achData
01
- Additional information needed.02
- Try again later.03
- Do not try again.Array [
]
Array [
]
success
string
required
Returns true
or false
depending on whether the request was successful.
Possible values: [true
, false
]
Returns true
or false
depending on whether the request was successful.
UUID of the transaction.
Purchase ID of the transaction.
Depending on the returnType
a transaction is finished, intermediate, or failed.
Possible values: [FINISHED
, REDIRECT
, HTML
, PENDING
, ERROR
, PENDING_DCC
]
Depending on the redirectType
the URL from redirectUrl
should be displayed either in an <iframe>
,
in a full page (e.g. via a HTTP 302
redirect with a Location
header).
Possible values: [iframe
, fullpage
]
URL the customer must be redirected to, only set if "returnType": "REDIRECT"
.
Possible values: <= 255 characters
QR Code with redirectUrl base64 encoded.
HTML content the customer must be shown, only set if "returnType": "HTML"
.
Payment method used - if it has already been determined.
returnData
object
_TYPE
string
required
Possible values: [cardData
, phoneData
, ibanData
, walletData
, achData
]
Type of credit card
ISO 3166-1 alpha-2 country code.
Possible values: Value must match regular expression ^[A-Z]{2}$
AT
Possible values: Value must match regular expression ^((0[1-9])|(1[0-2]))$
Possible values: Value must match regular expression ^[0-9]{4}$
Possible values: Value must match regular expression ^[0-9]{6-8}$
Possible values: Value must match regular expression ^[0-9]{6}$
Possible values: Value must match regular expression ^[0-9]{4}$
Triggers the 3D Secure authentication for this transaction.
Possible values: [OFF
, OPTIONAL
, MANDATORY
]
Pipes through the merchant advice code for failed transactions if supported by the adapter.
Merchant advice code for failed transactions if supported by the adapter.
Possible values: [01
, 02
, 03
]
The schemeTransactionIdentifier
, is a unique reference generated by a card scheme.
It serves the purpose of traceability back to the initial transaction.
It is also referred to as the 'scheme reference ID,' 'scheme transaction ID,' 'trace ID' (for Mastercard), or 'transaction ID' (for VISA).
Status of the last account updater run.
Only non-null if the account updater is enabled and has run at least once.
Possible values: [updated
, contact
, new-expiry
, closed
]
Last run of the account updater.
Only non-null if the account updater is enabled and has run at least once.
RFC 3339 Internet Date/Time Format full-date
.
Possible values: Value must match regular expression ^[0-9]{4}-((0[1-9])|(1[0-2]))-((0[1-9])|([1-2][0-9])|(3[0-1]))$
2001-02-03
ISO 3166-1 alpha-2 country code.
Possible values: Value must match regular expression ^[A-Z]{2}$
AT
RFC 3339 Internet Date/Time Format full-date
.
Possible values: Value must match regular expression ^[0-9]{4}-((0[1-9])|(1[0-2]))-((0[1-9])|([1-2][0-9])|(3[0-1]))$
2001-02-03
ISO 3166-1 alpha-2 country code.
Possible values: Value must match regular expression ^[A-Z]{2}$
AT
Reference ID of the wallet.
Owner of the wallet.
Type of wallet.
First name of wallet owner.
Last name of wallet owner.
Country code of wallet owner.
UUID of the transaction that initially registered this wallet.
Possible values: [person
, company
]
Possible values: [checking
, savings
]
Possible values: <= 17 characters
Possible values: >= 9 characters
and <= 9 characters
scheduleData
object
ID of schedule which was started with the transaction.
Status of the schedule.
Possible values: [ACTIVE
, PAUSED
, CANCELLED
, ERROR
, CREATE-PENDING
, NON-EXISTING
]
RFC 3339 Internet Date/Time Format date-time
Possible values: Value must match regular expression ^[0-9]{4}-((0[1-9])|(1[0-2]))-((0[1-9])|([1-2][0-9])|(3[0-1]))T(([0-1][0-9])|([2][0-3])):([0-5][0-9]):([0-5][0-9])\+[0-9]{2}\:[0-9]{2}$
2001-02-03T04:05:06+02:00
customerProfileData
object
The unique customer profile identifier generated by the platform.
The customer profile identifier provided by you when creating the customer profile. Unique within one customer profile container.
The created payment instrument for the customer profile, use with transactionToken
when creating new transactions.
Whether this payment instrument was marked as preferred for the customer.
riskCheckData
object
Possible values: [APPROVED
, DECLINED
, REVIEW
]
errors
object[]
Error message.
While the errorMessage
field provides useful context for understanding the nature of the error, it's important to note that the content of this message can vary based on specific circumstances.
For consistent and reliable error handling in your application, always base your logic on the errorCode
field, not the errorMessage
.
Error code.
For a complete list of error codes and their meanings, please see the appendix on Error codes.
Adapter specific error message, passed verbatim from the upstream Adapter.
Adapter specific error code, passed verbatim from the upstream Adapter.
extraData
object
Object containing key-value pairs (string-to-string), to be used by either the upstream Adapter, the Risk Engine etc.
Possible values: <= 64
.
Property name: <= 64 characters
.
Property value: <= 8192 characters
.
dccData
object
Decimal amount separated by .
, maximum of 3 decimals.
Possible values: Value must match regular expression ^(([0-9]{1,10})|([0-9]{1,10}\.[0-9]{1,3}))$
9.99
ISO 4217 three-letter currency code.
Possible values: Value must match regular expression ^[A-Z]{3}$
EUR
Decimal amount separated by .
, maximum of 3 decimals.
Possible values: Value must match regular expression ^(([0-9]{1,10})|([0-9]{1,10}\.[0-9]{1,3}))$
9.99
ISO 4217 three-letter currency code.
Possible values: Value must match regular expression ^[A-Z]{3}$
EUR
payByLinkData
object
true
if this transaction was a Pay-by-Link transaction.
true
if this Pay-by-Link was sent to the transaction customer via email.
Endpoint to call to cancel a Pay-by-Link transaction.
For details, see Pay-by-Link API reference.
Indicates at what date time the Pay-by-Link transaction expires.
Error message.
While the errorMessage
field provides useful context for understanding the nature of the error, it's important to note that the content of this message can vary based on specific circumstances.
For consistent and reliable error handling in your application, always base your logic on the errorCode
field, not the errorMessage
.
Error code.
For a complete list of error codes and their meanings, please see the appendix on Error codes.
Adapter specific error message, passed verbatim from the upstream Adapter.
Adapter specific error code, passed verbatim from the upstream Adapter.
Possible values: [ERROR
]
errors
object[]
Error message.
While the errorMessage
field provides useful context for understanding the nature of the error, it's important to note that the content of this message can vary based on specific circumstances.
For consistent and reliable error handling in your application, always base your logic on the errorCode
field, not the errorMessage
.
Error code.
For a complete list of error codes and their meanings, please see the appendix on Error codes.
Adapter specific error message, passed verbatim from the upstream Adapter.
Adapter specific error code, passed verbatim from the upstream Adapter.
{
"success": true
}
{
"success": false,
"errorMessage": "amount: 'amount' is required",
"errorCode": 1002
}
Callbacks
- POST statusChange
POST{$request.body#/callbackUrl}
Receive status updates about transactions.
Status changes are posted as callbacks to the callbackUrl
defined in the request.
See the Callbacks reference for further information about callbacks.
- application/json
Bodyrequired
required
The current state of the transaction.
Array [
]
- cardData
- phoneData
- ibanData
- walletData
- achData
01
- Additional information needed.02
- Try again later.03
- Do not try again.- PaymentIbanData
- PaymentWalletData
Array [
]
Array [
]
UUID of the transaction.
A unique identifier supplied by the merchant to track transactions within their own systems.
This field links the platform’s transaction back to the merchant’s system, allowing for easy tracking and reconciliation. Note that while this ID is used within the platform, there is no guarantee that it will be forwarded to the Payment Service Provider (PSP).
Possible values: non-empty
and <= 50 characters
c5f2accd-2c37-4b2c-bb03-22d168c25a74
Purchase ID of the transaction.
Possible values: <= 50 characters
Possible values: [DEBIT
, CAPTURE
, DEREGISTER
, PREAUTHORIZE
, REFUND
, REGISTER
, VOID
, CHARGEBACK
, CHARGEBACK-REVERSAL
, PAYOUT
, INCREMENTAL-AUTHORIZATION
]
Only present if transaction has a subType
.
Possible values: [cb-resolved
, cb-reversal-resolved
]
Payment method.
Decimal amount separated by .
, maximum of 3 decimals.
Possible values: Value must match regular expression ^(([0-9]{1,10})|([0-9]{1,10}\.[0-9]{1,3}))$
9.99
ISO 4217 three-letter currency code.
Possible values: Value must match regular expression ^[A-Z]{3}$
EUR
Decimal amount separated by .
, maximum of 3 decimals.
Possible values: Value must match regular expression ^(([0-9]{1,10})|([0-9]{1,10}\.[0-9]{1,3}))$
9.99
Decimal amount separated by .
, maximum of 3 decimals.
Possible values: Value must match regular expression ^(([0-9]{1,10})|([0-9]{1,10}\.[0-9]{1,3}))$
9.99
dccData
object
Possible values: <= 128 characters
Decimal amount separated by .
, maximum of 3 decimals.
Possible values: Value must match regular expression ^(([0-9]{1,10})|([0-9]{1,10}\.[0-9]{1,3}))$
9.99
ISO 4217 three-letter currency code.
Possible values: Value must match regular expression ^[A-Z]{3}$
EUR
Decimal amount separated by .
, maximum of 3 decimals.
Possible values: Value must match regular expression ^(([0-9]{1,10})|([0-9]{1,10}\.[0-9]{1,3}))$
9.99
ISO 4217 three-letter currency code.
Possible values: Value must match regular expression ^[A-Z]{3}$
EUR
Possible values: <= 32 characters
Possible values: non-empty
and <= 50 characters
errors
object[]
Error message.
While the message
field provides useful context for understanding the nature of the error, it's important to note that the content of this message can vary based on specific circumstances.
For consistent and reliable error handling in your application, always base your logic on the code
field, not the message
.
Error code.
For a complete list of error codes and their meanings, please see the appendix on Error codes.
Adapter specific error message, passed verbatim from the upstream Adapter.
Adapter specific error code, passed verbatim from the upstream Adapter.
chargebackData
object
When transactionType
is CHARGEBACK
this field contains information on the chargeback.
Possible values: non-empty
and <= 50 characters
Decimal amount separated by .
, maximum of 3 decimals.
Possible values: Value must match regular expression ^(([0-9]{1,10})|([0-9]{1,10}\.[0-9]{1,3}))$
9.99
ISO 4217 three-letter currency code.
Possible values: Value must match regular expression ^[A-Z]{3}$
EUR
RFC 3339 Internet Date/Time Format date-time
Possible values: Value must match regular expression ^[0-9]{4}-((0[1-9])|(1[0-2]))-((0[1-9])|([1-2][0-9])|(3[0-1]))T(([0-1][0-9])|([2][0-3])):([0-5][0-9]):([0-5][0-9])\+[0-9]{2}\:[0-9]{2}$
2001-02-03T04:05:06+02:00
When transactionType
is CHARGEBACK
this field contains information on the chargeback.
chargebackReversalData
object
When transactionType
is CHARGEBACK-REVERSAL
this field contains information on the chargeback-reversal.
Possible values: non-empty
and <= 50 characters
Decimal amount separated by .
, maximum of 3 decimals.
Possible values: Value must match regular expression ^(([0-9]{1,10})|([0-9]{1,10}\.[0-9]{1,3}))$
9.99
ISO 4217 three-letter currency code.
Possible values: Value must match regular expression ^[A-Z]{3}$
EUR
RFC 3339 Internet Date/Time Format date-time
Possible values: Value must match regular expression ^[0-9]{4}-((0[1-9])|(1[0-2]))-((0[1-9])|([1-2][0-9])|(3[0-1]))T(([0-1][0-9])|([2][0-3])):([0-5][0-9]):([0-5][0-9])\+[0-9]{2}\:[0-9]{2}$
2001-02-03T04:05:06+02:00
When transactionType
is CHARGEBACK-REVERSAL
this field contains information on the chargeback-reversal.
extraData
object
Object containing key-value pairs (string-to-string), to be used by either the upstream Adapter, the Risk Engine etc.
Possible values: <= 64
.
Property name: <= 64 characters
.
Property value: <= 8192 characters
.
returnData
object
_TYPE
string
required
Possible values: [cardData
, phoneData
, ibanData
, walletData
, achData
]
Type of credit card
ISO 3166-1 alpha-2 country code.
Possible values: Value must match regular expression ^[A-Z]{2}$
AT
Possible values: Value must match regular expression ^((0[1-9])|(1[0-2]))$
Possible values: Value must match regular expression ^[0-9]{4}$
Possible values: Value must match regular expression ^[0-9]{6-8}$
Possible values: Value must match regular expression ^[0-9]{6}$
Possible values: Value must match regular expression ^[0-9]{4}$
Triggers the 3D Secure authentication for this transaction.
Possible values: [OFF
, OPTIONAL
, MANDATORY
]
Pipes through the merchant advice code for failed transactions if supported by the adapter.
Merchant advice code for failed transactions if supported by the adapter.
Possible values: [01
, 02
, 03
]
The schemeTransactionIdentifier
, is a unique reference generated by a card scheme.
It serves the purpose of traceability back to the initial transaction.
It is also referred to as the 'scheme reference ID,' 'scheme transaction ID,' 'trace ID' (for Mastercard), or 'transaction ID' (for VISA).
Status of the last account updater run.
Only non-null if the account updater is enabled and has run at least once.
Possible values: [updated
, contact
, new-expiry
, closed
]
Last run of the account updater.
Only non-null if the account updater is enabled and has run at least once.
RFC 3339 Internet Date/Time Format full-date
.
Possible values: Value must match regular expression ^[0-9]{4}-((0[1-9])|(1[0-2]))-((0[1-9])|([1-2][0-9])|(3[0-1]))$
2001-02-03
ISO 3166-1 alpha-2 country code.
Possible values: Value must match regular expression ^[A-Z]{2}$
AT
RFC 3339 Internet Date/Time Format full-date
.
Possible values: Value must match regular expression ^[0-9]{4}-((0[1-9])|(1[0-2]))-((0[1-9])|([1-2][0-9])|(3[0-1]))$
2001-02-03
ISO 3166-1 alpha-2 country code.
Possible values: Value must match regular expression ^[A-Z]{2}$
AT
Reference ID of the wallet.
Owner of the wallet.
Type of wallet.
First name of wallet owner.
Last name of wallet owner.
Country code of wallet owner.
UUID of the transaction that initially registered this wallet.
Possible values: [person
, company
]
Possible values: [checking
, savings
]
Possible values: <= 17 characters
Possible values: >= 9 characters
and <= 9 characters
payByLinkData
object
true
if this transaction was a Pay-by-Link transaction.
true
if this Pay-by-Link was sent to the transaction customer via email.
Endpoint to call to cancel a Pay-by-Link transaction.
For details, see Pay-by-Link API reference.
Indicates at what date time the Pay-by-Link transaction expires.
customer
object
Possible values: <= 36 characters
Possible values: <= 50 characters
Possible values: <= 50 characters
RFC 3339 Internet Date/Time Format full-date
.
Possible values: Value must match regular expression ^[0-9]{4}-((0[1-9])|(1[0-2]))-((0[1-9])|([1-2][0-9])|(3[0-1]))$
2001-02-03
Possible values: [M
, F
]
Possible values: <= 50 characters
Possible values: <= 50 characters
Possible values: <= 50 characters
Possible values: <= 16 characters
Possible values: <= 30 characters
ISO 3166-1 alpha-2 country code.
Possible values: Value must match regular expression ^[A-Z]{2}$
AT
Possible values: <= 20 characters
+XX 1234567890
Possible values: <= 50 characters
Possible values: <= 50 characters
Possible values: <= 50 characters
Possible values: <= 50 characters
Possible values: <= 50 characters
Possible values: <= 50 characters
Possible values: <= 16 characters
Possible values: <= 30 characters
ISO 3166-1 alpha-2 country code.
Possible values: Value must match regular expression ^[A-Z]{2}$
AT
Possible values: <= 20 characters
+XX 1234567890
Possible values: <= 50 characters
Possible values: <= 255 characters
Possible values: <= 50 characters
Possible values: <= 20 characters
extraData
object
Object containing key-value pairs (string-to-string), to be used by either the upstream Adapter, the Risk Engine etc.
Possible values: <= 64
.
Property name: <= 64 characters
.
Property value: <= 8192 characters
.
paymentData
object
oneOf
ibanData
object
Possible values: <= 34 characters
Possible values: <= 11 characters
Possible values: <= 50 characters
RFC 3339 Internet Date/Time Format full-date
.
Possible values: Value must match regular expression ^[0-9]{4}-((0[1-9])|(1[0-2]))-((0[1-9])|([1-2][0-9])|(3[0-1]))$
2001-02-03
walletData
object
Possible values: <= 255 characters
Possible values: <= 255 characters
Possible values: <= 255 characters
customerProfileData
object
The unique customer profile identifier generated by the platform.
The customer profile identifier provided by you when creating the customer profile. Unique within one customer profile container.
The created payment instrument for the customer profile, use with transactionToken
when creating new transactions.
Whether this payment instrument was marked as preferred for the customer.
splits
object[]
Possible values: <= 10
Possible values: <= 11 characters
Decimal amount separated by .
, maximum of 3 decimals.
Possible values: Value must match regular expression ^(([0-9]{1,10})|([0-9]{1,10}\.[0-9]{1,3}))$
9.99
ISO 4217 three-letter currency code.
Possible values: Value must match regular expression ^[A-Z]{3}$
EUR
Possible values: <= 11 characters
Possible values: <= 128 characters
commissionFee
object
Decimal amount separated by .
, maximum of 3 decimals.
Possible values: Value must match regular expression ^(([0-9]{1,10})|([0-9]{1,10}\.[0-9]{1,3}))$
9.99
ISO 4217 three-letter currency code.
Possible values: Value must match regular expression ^[A-Z]{3}$
EUR
Error message.
While the message
field provides useful context for understanding the nature of the error, it's important to note that the content of this message can vary based on specific circumstances.
For consistent and reliable error handling in your application, always base your logic on the code
field, not the message
.
Error code.
For a complete list of error codes and their meanings, please see the appendix on Error codes.
Adapter specific error message, passed verbatim from the upstream Adapter.
Adapter specific error code, passed verbatim from the upstream Adapter.
Possible values: [OK
, PENDING
, ERROR
]
scheduleData
object[]
ID of schedule which was started with the transaction.
Status of the schedule.
Possible values: [ACTIVE
, PAUSED
, CANCELLED
, ERROR
, CREATE-PENDING
, NON-EXISTING
]
RFC 3339 Internet Date/Time Format date-time
Possible values: Value must match regular expression ^[0-9]{4}-((0[1-9])|(1[0-2]))-((0[1-9])|([1-2][0-9])|(3[0-1]))T(([0-1][0-9])|([2][0-3])):([0-5][0-9]):([0-5][0-9])\+[0-9]{2}\:[0-9]{2}$
2001-02-03T04:05:06+02:00
In case the transaction status, amount or currency has been changed after reconciliation the parameter can have the following value: reconciliation
, settlement
.
Possible values: [reconciliation
, settlement
]
In case the transaction amount has been changed after reconciliation the is parameter will contain the original amount.
Decimals separated by .
, max. 3 decimals.
Possible values: Value must match regular expression ^(([0-9]{1,10})|([0-9]{1,10}\.[0-9]{1,3}))$
In case the transaction currency has been changed after reconciliation the is parameter will contain the original currency.
ISO 4217 three-letter currency code.
Possible values: Value must match regular expression ^[A-Z]{3}$
EUR
Callbacks Responses
- 200
- 500
Reply with status 200 and body OK
if you have received the callback successfully.
- text/plain
- Schema
- Success
Schema
string
Possible values: [OK
]
OK
Callback processing failed and retries will be performed.
See the Response handling — Acknowledging callback receipt reference for further information.