Xs2aPay

data class Xs2aPay(@Json(name = amountamount: Float, @Json(name = currency_idcurrencyId: CurrencyId, @Json(name = purposepurpose: String, @Json(name = recipient_holderrecipientHolder: String, @Json(name = recipient_ibanrecipientIban: String, @Json(name = metadatametadata: Map<String, Any>?, @Json(name = languagelanguage: Language?, @Json(name = merchant_idmerchantId: String?, @Json(name = fints_product_idfintsProductId: String?, @Json(name = easy_onboardingeasyOnboarding: EasyOnboarding?, @Json(name = sender_holdersenderHolder: String?, @Json(name = sender_ibansenderIban: String?, @Json(name = sender_bicsenderBic: String?, @Json(name = sender_country_idsenderCountryId: CountryId?, @Json(name = recipient_bicrecipientBic: String?, @Json(name = recipient_streetrecipientStreet: String?, @Json(name = recipient_ziprecipientZip: String?, @Json(name = recipient_cityrecipientCity: String?, @Json(name = recipient_country_idrecipientCountryId: CountryId?)

Parameters

amount

The amount to be transferred, either in EUR or CHF (depending on currency_id). This is a float, meaning for i.e. 1,50 Euro, you would send 1.5, and for 15 Euro, you would send 15.0.

currencyId
purpose

We suggest to keep the purpose as short as possible (between 5 and 140 characters) and to place critical information at the beginning of the purpose. The reason for this suggestion is that we might have to limit the length of your given purpose. A SEPA purpose can be up to 140 characters. However some banks only offer a reference field which is limited to 35 characters. If your purpose is longer than bank supported purpose field, we will shorten it to the maximum length supported by that bank. Not all characters are supported for the purpose field. Sender banks impose different rules for the purpose field, therefore we suggest to limit the character set to a-z, A-Z, 0-9. If you use other characters please be advised that we might have to remove or replace characters considered invalid by the sender bank. We usually will replace the invalid characters with a whitespace or normalize the characters.

recipientHolder

Sender banks impose different rules for the recipient_holder field, we suggest to limit the character set to a-z, A-Z, 0-9. If you use other characters please be advised that we might have to remove or replace characters considered invalid by the sender bank. We usually will replace the invalid characters with a whitespace or normalize the characters.

recipientIban

IBAN of the recipient account

metadata
language
merchantId

The internal ID of your merchant, if any. You may fill this field with the internal ID your merchant, if you are a PSP.

fintsProductId

The fints product ID can be enclosed in the initial request. If you have an eIDAS certificate, then you have to send it with every request.

easyOnboarding
senderHolder

Name of the sender account holder. If this is set, the account holder will be pinned and validated for the current session. The customer will not be able to choose an account with a different name than provided. The name will be compared with our XS2A.name_check module. A match is not only string equals. To a certain point changes in the name will be tolerated. (i.e. a prepending academic title will not break the match)

senderIban

IBAN of the sender account. If it is a valid IBAN, the IBAN will be pinned for the current session. The customer will not be able to choose a different account, even if there are more accounts available to chose from. If the given IBAN is not in the customer list of accounts, the transaction will be aborted. In the case of an invalid IBAN XS2A will return a validation error with HTTP status code 422.

senderBic

BIC of the sender account. If the given BIC is valid, the step/page for entering a bank code will be skipped.

senderCountryId

Two letter country code id of the sender account, e.g. AT, CH, DE

recipientBic

BIC of the recipient account

recipientStreet

Street of the recipient account. Required if sender_country_id is CH

recipientZip

Zip-code of the recipient account. Required if sender_country_id is CH

recipientCity

City of the recipient account. Required if sender_country_id is CH

recipientCountryId

Two letter country code id, e.g. AT, CH, DE

Constructors

Xs2aPay
Link copied to clipboard
fun Xs2aPay(@Json(name = amountamount: Float, @Json(name = currency_idcurrencyId: CurrencyId, @Json(name = purposepurpose: String, @Json(name = recipient_holderrecipientHolder: String, @Json(name = recipient_ibanrecipientIban: String, @Json(name = metadatametadata: Map<String, Any>? = null, @Json(name = languagelanguage: Language? = null, @Json(name = merchant_idmerchantId: String? = null, @Json(name = fints_product_idfintsProductId: String? = null, @Json(name = easy_onboardingeasyOnboarding: EasyOnboarding? = null, @Json(name = sender_holdersenderHolder: String? = null, @Json(name = sender_ibansenderIban: String? = null, @Json(name = sender_bicsenderBic: String? = null, @Json(name = sender_country_idsenderCountryId: CountryId? = null, @Json(name = recipient_bicrecipientBic: String? = null, @Json(name = recipient_streetrecipientStreet: String? = null, @Json(name = recipient_ziprecipientZip: String? = null, @Json(name = recipient_cityrecipientCity: String? = null, @Json(name = recipient_country_idrecipientCountryId: CountryId? = null)
The amount to be transferred, either in EUR or CHF (depending on currency_id).

Properties

amount
Link copied to clipboard
var amount: Float
The amount to be transferred, either in EUR or CHF (depending on currency_id).
currencyId
Link copied to clipboard
var currencyId: CurrencyId
easyOnboarding
Link copied to clipboard
var easyOnboarding: EasyOnboarding? = null
fintsProductId
Link copied to clipboard
var fintsProductId: String? = null
The fints product ID can be enclosed in the initial request.
language
Link copied to clipboard
var language: Language? = null
merchantId
Link copied to clipboard
var merchantId: String? = null
The internal ID of your merchant, if any.
metadata
Link copied to clipboard
var metadata: Map<String, Any>? = null
purpose
Link copied to clipboard
var purpose: String
We suggest to keep the purpose as short as possible (between 5 and 140 characters) and to place critical information at the beginning of the purpose.
recipientBic
Link copied to clipboard
var recipientBic: String? = null
BIC of the recipient account
recipientCity
Link copied to clipboard
var recipientCity: String? = null
City of the recipient account.
recipientCountryId
Link copied to clipboard
var recipientCountryId: CountryId? = null
Two letter country code id, e.g.
recipientHolder
Link copied to clipboard
var recipientHolder: String
Sender banks impose different rules for the recipient_holder field, we suggest to limit the character set to a-z, A-Z, 0-9.
recipientIban
Link copied to clipboard
var recipientIban: String
IBAN of the recipient account
recipientStreet
Link copied to clipboard
var recipientStreet: String? = null
Street of the recipient account.
recipientZip
Link copied to clipboard
var recipientZip: String? = null
Zip-code of the recipient account.
senderBic
Link copied to clipboard
var senderBic: String? = null
BIC of the sender account.
senderCountryId
Link copied to clipboard
var senderCountryId: CountryId? = null
Two letter country code id of the sender account, e.g.
senderHolder
Link copied to clipboard
var senderHolder: String? = null
Name of the sender account holder.
senderIban
Link copied to clipboard
var senderIban: String? = null
IBAN of the sender account.