Skip to main content

Configuration

Tamaro can be configured during its initialization, for example:

window.rnw.tamaro.runWidget('.rnw-tamaro-widget', {
debug: false,
language: 'de',
});

Configuration values can be overridden later with afterCreate event. For example:

// Changing the configuration values after widget is created
window.rnw.tamaro.events.afterCreate.subscribe((event) => {
const tamaro = event.data.api;

tamaro.config.debug = true;
tamaro.config.language = 'en';
});

window.rnw.tamaro.runWidget('.rnw-tamaro-widget', {
debug: false,
language: 'de',
});

You can override config values later by using the widget instance. For example:

window.rnw.tamaro.instance.config.debug = true;
window.rnw.tamaro.instance.config.language = 'en';

You can also extend the widget configuration in event handlers, using the extendConfig helper method.

If the passed configuration option value is a plain object, it's merged with its target value. Otherwise (if the passed configuration option value is boolean, string, number, array, etc.), its target value is overridden by the passed value.

For Example:

window.rnw.tamaro.events.afterCreate.subscribe((event) => {
const tamaro = event.data.api;

tamaro.extendConfig({
// bool, string and array values override its target values
debug: false,
language: 'en',
amounts: [5, 10, 20, 50],
purposes: ['p1', 'p2'],
paymentMethods: ['card', 'paypal'],
// plain object value is deeply merged with its target value
translations: {
de: {
purposes: {
p1: 'Purpose 1',
p2: 'Purpose 2',
},
},
},
});
});

window.rnw.tamaro.runWidget('.rnw-tamaro-widget');

Configuration options

Some of the common type definitions, which are used for configuration options:

type ConfigCondition<T = any> = T | Condition<T>;

type Condition<T = any> = {
if: string | boolean;
then?: ConfigCondition<T> | ConfigCondition<T>[];
else?: ConfigCondition<T> | ConfigCondition<T>[];
};

type EpmsConfig = {
accountUuid?: string | ConfigCondition<string>[];
paymentMethodProfile?: Record<string, string | ConfigCondition<string>[]>;
stripePublicKey?: string | ConfigCondition<string>[];
stripeAccount?: string | ConfigCondition<string>[];
};

type EppConfig = {
apiKey?: string | ConfigCondition<string>[];
merchantId?: string | ConfigCondition<string>[];
successUrl?: string | ConfigCondition<string>[];
errorUrl?: string | ConfigCondition<string>[];
cancelUrl?: string | ConfigCondition<string>[];
immediateExecution?: boolean | ConfigCondition<boolean>[];
useCardIframe?: boolean | ConfigCondition<boolean>[];
cardIframeUrl?: string | ConfigCondition<string>[];
};

debug

Type: boolean
Default value: true

Enables/disables debug mode.
More info about debugging can be found on the Debugging page.

debugErrorMessages

Type: boolean
Default value: false

When true, example error messages are shown for all the fields.

debugSlots

Type: boolean
Default value: false

When true, all slot placeholders are shown.
More info about slots can be found on the Slots page.

debugSecureFields

Type: boolean | ConfigCondition<boolean>[]
Default value: false

Enables/disables additional logging for the PCI proxy secure fields, which are used for card data input.

debugEppCardIframe

Type: boolean | ConfigCondition<boolean>[]
Default value: false

Enables/disables additional logging for the communication between the widget and the EPP card iframe.

demoMode

Type: boolean | ConfigCondition<boolean>[]
Default value: false

There are some limitations when certain payment methods may not be available depending on selected currency or other conditions, for example:

  • 'twint' is only available with 'chf' currency
  • 'sepa_dd' is only available with 'eur' currency
  • 'apple_pay' is only available in the Safari browser
  • etc.

Sometimes, you may want to bypass these limitations for demo purposes, not to make a real payment, but to show all the available payment methods to the user. Here is where demoMode comes in handy. When it's enabled, all payment methods are visually available for all conditions, but if you try to do a real payment with unsupported combination of conditions, most probably it will fail.

language

Type: string
Default value: 'en'

Sets the UI language of the widget.
Supported out of the box languages are: 'de', 'en', 'es', 'fr', 'hu', 'it', 'nl', 'rm', 'ro'.
Tamaro Core provides all the translations for these languages.

If you want to use a language that is not supported out of the box, you need to provide all translations for this language yourself.
See translations config option for more information.

fallbackLanguage

Type: string
Default value: 'en'

Set the language to fallback to if some of the translations are missing for the selected language.

testMode

Type: boolean
Default value: true

Enables/disables test mode.
See Testing page for more information.

flow

Type: 'epp' | 'epms' | ConfigCondition<'epp' | 'epms'>[]
Default value: 'epp'

There are two flows available:

  • EPP (legacy e-payment platform, flow: 'epp')
  • EPMS (e-payment micro-services, flow: 'epms')

This config option defines which backend to use in case selected payment method is supported on both of them.

epmsEnv

Type: 'prod' | 'stage'
Default value: 'stage'

Defines the environment for EPMS backend.

epms

Type: EpmsConfig
Default value: {}

If epmsEnv is set to 'prod', then properties specified under this config option will be resolved for EPMS backend.

epmsStage

Type: EpmsConfig
Default value:

{
accountUuid: 'd71de4f6-e466-40dc-84ce-c1ce20b29b08',
}

If epmsEnv is set to 'stage', then properties specified under this config option will be resolved for EPMS backend.

eppEnv

Type: 'prod' | 'stage'
Default value: 'prod'

Defines the environment for EPP backend.

epp

Type: EppConfig
Default value:

{
apiKey: '1234567890',
merchantId: '1234567890',
}

If eppEnv is set to 'prod', then properties specified under this config option will be resolved for EPP backend.

eppStage

Type: EppConfig
Default value:

{
apiKey: '1234567890',
merchantId: '1234567890',
}

If eppEnv is set to 'stage', then properties specified under this config option will be resolved for EPP backend.

redirectToCustomResultPage

Type: undefined | ((api: WidgetApi) => Promise<void> | void)
Default value: undefined
Added in: v2.11.0

This config option allows you to specify a custom function, which is called when the payment/subscription is completed, where you can implement your own logic to redirect the supporter to custom result page.

const redirectToCustomResultPage = () => {
window.location.href = 'https://example.com?foo=bar';
};

window.rnw.tamaro.runWidget('.rnw-tamaro-widget', {
redirectToCustomResultPage,
});

See more details in the Redirect to custom result page guide.

skipCvv

Type: boolean | ConfigCondition<boolean>[]
Default value: false

If this config option is set to true, the cvv field will not be rendered and not required for card payments. In most of the cases, enabling this option will lead to failed payments. It might be useful only in some rare cases with specific card types/currencies.

paymentStatusPollInterval

Type: number
Default value: 1000

When the payment is made and its status is 'pending', the widget will poll the payment status every paymentStatusPollInterval milliseconds.

paymentFormPrefill

Type: Record<string, any>
Default value: {}

Defines the values to prefill the payment form fields with.

This config option works only when you set it with initial configuration. Changing this config option after widget is already initialized will not have any effect.

purposes

Type: ConfigCondition<string>[]
Default value: ['p1', 'p2', 'p3', 'p4']

Defines the available purposes for the payment/donation.

paymentTypes

Type: ConfigCondition<'onetime' | 'recurring'>[]
Default value: ['onetime', 'recurring']

Defines the available payment types for the payment/donation.

recurringIntervals

Type: ConfigCondition<'daily' | 'weekly' | 'monthly' | 'quarterly' | 'semestral' | 'yearly'>[]
Default value: ['monthly', 'quarterly', 'semestral', 'yearly']

Defines the available recurring intervals for the payment/donation.

currencies

Type: ConfigCondition<string>[]
Default value: ['chf', 'usd', 'eur']

Defines the available currencies for the payment/donation.

amounts

Type: ConfigCondition<number>[]
Default value:

[
{
if: 'currency() == chf',
then: [
{
if: 'paymentType() == onetime',
then: [5, 10, 30, 120],
},
{
if: 'paymentType() == recurring',
then: [
{
if: 'recurringInterval() == monthly',
then: [15, 20, 30, 120],
},
{
if: 'recurringInterval() == quarterly',
then: [45, 60, 90, 360],
},
{
if: 'recurringInterval() == semestral',
then: [90, 120, 180, 720],
},
{
if: 'recurringInterval() == yearly',
then: [180, 240, 360, 1440],
},
],
},
],
},
{
if: 'currency() == usd',
then: [10, 15, 30, 60],
},
{
if: 'currency() == eur',
then: [5, 15, 30, 90],
},
];

Defines the available amounts for the payment/donation.

coverFeeFixed

Type: undefined | number | ConfigCondition<number>[]
Default value:

[
{
if: 'currency() == chf',
then: 0.25,
},
{
if: 'currency() == eur',
then: 0.2,
},
0,
];

Defines the fixed fee to cover for the payment/donation.
The value should be specified in the major currency unit.

coverFeePercentage

Type: undefined | number | ConfigCondition<number>[]
Default value: 5

Defines the percentage fee to cover for the payment/donation.
The value should be specified in the percentage unit.

coverFeeProcessingFixed

Type: undefined | number | ConfigCondition<number>[]
Default value: undefined

Defines the fixed processing fee to cover for the payment/donation.
The value should be specified in the major currency unit.

coverFeePlatformFixed

Type: undefined | number | ConfigCondition<number>[]
Default value: undefined

Defines the fixed platform fee to cover for the payment/donation.
The value should be specified in the major currency unit.

coverFeeOrganisationCostsFixed

Type: undefined | number | ConfigCondition<number>[]
Default value: undefined

Defines the fixed organisation costs to cover for the payment/donation.
The value should be specified in the major currency unit.

coverFeeProcessingPercentage

Type: undefined | number | ConfigCondition<number>[]
Default value: undefined

Defines the percentage processing fee to cover for the payment/donation.
The value should be specified in the percentage unit.

coverFeePlatformPercentage

Type: undefined | number | ConfigCondition<number>[]
Default value: undefined

Defines the percentage platform fee to cover for the payment/donation.
The value should be specified in the percentage unit.

coverFeeOrganisationCostsPercentage

Type: undefined | number | ConfigCondition<number>[]
Default value: undefined

Defines the percentage organisation costs to cover for the payment/donation.
The value should be specified in the percentage unit.

paymentMethods

Type: ConfigCondition<string>[]
Default value:

['card', 'pfc', 'pef', 'paypal', 'dd', 'sod', 'twint'];

Defines the available payment methods for the payment/donation.

priorityCardTypes

Type: ConfigCondition<'amx' | 'din' | 'dis' | 'jcb' | 'mae' | 'eca' | 'vis'>[]
Default value: ['vis', 'mae', 'amx']

Defines the card types, which icons will be shown first on the icons list for the 'card' payments.

autoselectPurpose

Type: boolean
Default value: true

If this config option is set to true and purpose value is not prefilled, the first available purpose will be selected automatically.

autoselectPaymentType

Type: boolean
Default value: true

If this config option is set to true and payment_type value is not prefilled, the first available payment_type will be selected automatically.

autoselectAmount

Type: boolean
Default value: true

If this config option is set to true and amount value is not prefilled, the first available amount will be selected automatically.

autoselectPaymentMethod

Type: boolean
Default value: false

If this config option is set to true and payment_method value is not prefilled, the first available payment_method will be selected automatically.

purposeDetails

Type: Record<string, {stored_campaign_id: string, stored_campaign_subid: string}>
Default value: {}

This config option allows to specify the stored_campaign_id and stored_campaign_subid values for each purpose.

amountSubunits

Type: Record<string, number>
Default value:

{
chf: 100,
usd: 100,
eur: 100,
inr: 100,
huf: 100,
ron: 100,
gbp: 100,
cad: 100,
cny: 100,
aud: 100,
}

Amounts are always sent in subunits to the backend API endpoints.
This config option allows to set the number of subunits for each currency.
For currency without subunits set amountSubunits to 1 for this particular currency.

If amountSubunits is not explicitly specified for the particular currency, it falls back to 100.

allowCustomAmount

Type: boolean | ConfigCondition<boolean>[]
Default value: true

This config option allows to enable/disable custom amount input field.

minimumCustomAmount

Type: number | ConfigCondition<number>[]
Default value: 1

Defines the minimum value for the custom amount input field.

maximumCustomAmount

Type: undefined | number | ConfigCondition<number>[]
Default value: undefined

Defines the maximum value for the custom amount input field.

paymentProvider

Type: 'adyen' | 'datatrans' | 'ingcollect' | 'stripe'
Default value: 'datatrans'

Defines the payment provider to use for the EPP payment/donation.

allowedCardTypes

Type: undefined | ConfigCondition<'amx' | 'din' | 'dis' | 'jcb' | 'mae' | 'eca' | 'vis'>[]
Default value: undefined

Defines the card types, which are allowed for the 'card' payments.
This config option should be used when you want to restrict the allowed card types.

allowedRecurringPaymentMethods

Type: ConfigCondition<string>[]
Default value:

[
'apple_pay',
'card',
'cym',
'google_pay',
'paypal',
'pfc',
'sepa_dd',
'sod',
'mpos',
'net',
'twint',
'dd',
'chqr',
];

Defines the allowed payment methods for the recurring payments.
This config option should be used when you want to restrict the allowed payment methods for the recurring payments.

Please note that if some of specified methods does not support recurring payments, then it won't be shown if recurring payment type is selected.

faqEntries

Type: ConfigCondition<string>[]
Default value: ['f1', 'f2', 'f3']

Defines the available FAQ entries, which are shown on the result page.
Read more here.

expandedFaqEntries

Type: ConfigCondition<string>[]
Default value: []

Defines which FAQ entries should be expanded by default on the result page.
Read more here.

salutations

Type: ConfigCondition<string>[]
Default value: ['ms', 'mr', 'none']

Defines the available salutations for the payment/donation.
Read more here.

countries

Type: ConfigCondition<string>[]
Default value: ['CH', 'DE', ...]

Defines the available countries for the payment/donation.

priorityCountries

Type: ConfigCondition<string>[]
Default value: ['CH', 'DE', 'FR', 'IT']

Defines which countries should be shown first in the country select field.

states

Type: Record<string, string[]>
Default value:

{
US: ['AL', 'AK', 'AZ', ...],
CA: ['AB', 'BC', 'MB', ...],
CL: ['AI', 'AN', 'AP', ...],
AR: ['A', 'B', 'C', ...],
IN: ['AN', 'AP', 'AR', ...],
}

Defines the available states for the payment/donation.

taxIdLocale

Type: string | ConfigCondition<string>[]
Default value: en-US

Defines the locale for the tax ID field validation.
You can check the available locales in the validator-js library repo.

netbankingIssuerIds

Type: ConfigCondition<string>[]
Default value: [50, 13700, 310, ...]

Defines the list of netbanking issuer IDs (provided by Wordline) for the payment/donation.

uiBreakpoints

Type: Record<string, number>
Default value:

{
'tamaro-bp-xs': 28,
'tamaro-bp-sm': 33,
'tamaro-bp-md': 48,
}

Defines the breakpoints for the widget UI elements.
Values should be specified in rem units.

uiTransitionTimeout

Type: number
Default value: 300

Defines the transition timeout for the widget UI elements.
Value should be specified in milliseconds.

uiCustomCheckableElements

Type: boolean
Default value: true

Allows to enable/disable custom checkable elements in the widget UI.

uiFloatingLabels

Type: boolean
Default value: true

Allows to enable/disable floating labels for the widget fields.

uiRippleEffects

Type: boolean
Default value: true

Allows to enable/disable ripple effects for the widget UI elements.

uiCheckboxRadius

Type: number
Default value: 0

Defines the radius for the checkbox elements in the widget UI.

uiScrollOffsetTop

Type: number
Default value: 20

Define offsets from the top of the page (or scrollable container in case Tamaro widget is rendered inside such container), which will be used during automatic scrolling.
Value should be specified in pixels.

The page automatically scrolls to the first invalid field (or block) after form validation. If page has sticky header, then it may overlap the validation error message, so you can increase the value of this option in such cases to make validation error message visible.

uiScrollOffsetBottom

Type: number
Default value: 20

Define offsets from the bottom of the page (or scrollable container in case Tamaro widget is rendered inside such container), which will be used during automatic scrolling.
Value should be specified in pixels.

The page automatically scrolls to the first invalid field (or block) after form validation. If page has sticky footer, then it may overlap the validation error message, so you can increase the value of this option in such cases to make validation error message visible.

uiHeadingLevel

Type: number
Default value: 2

Defines the level of heading tags.
Possible values: from1 to 6.

According to this option, widget headings will be rendered as <h1> - <h6> tags respectively.

uiInvalidElementsScope

Type: undefined | string
Default value: '#tamaro-widget'

Allows to specify a CSS selector of the DOM element, within which scrolling to the top invalid element and focusing of the top invalid element after the form is submitted with invalid fields is performed.

  • Default value is "#tamaro-widget" – auto-scrolling and auto-focusing is scoped to Tamaro widget container.

  • If Tamaro is rendered within a custom payment/donation form with for example ID attribute "custom-form", you may specify:

    uiInvalidElementsScope: "#custom-form".

    This will allow to auto-scroll and auto-focus the fields, which are outside the Tamaro container.

  • If you want to entirely disable Tamaro's behavior of auto-scrolling and auto-focusing of invalid fields, you can specify:

    uiInvalidElementsScope: undefined.

paymentValidations

Type: Record<string, any>
Default value:

{
purpose: {
required: true,
},
payment_type: {
required: true,
},
amount: {
amount_valid: true,
minimum_custom_amount: true,
maximum_custom_amount: true,
},
payment_method: {
payment_method_valid: true,
},
stored_customer_salutation: {
required: true,
},
stored_customer_firstname: {
required: true,
},
stored_customer_lastname: {
required: true,
},
stored_customer_email: {
required: true,
email: true,
},
stored_customer_birthdate: {
required: true,
date_format: true,
age: {
min: 18,
max: 100,
},
},
stored_customer_fiscal_code: {
required: true,
tax_id_valid: true,
},
stored_customer_street: {
required: true,
},
stored_customer_zip_code: {
required: true,
zip_code_valid: {
country_field_name: 'stored_customer_country',
},
},
stored_customer_city: {
required: true,
},
stored_customer_country: {
required: true,
},
stored_customer_state: {
required: true,
},
}

Defines the payment/donation form validations.

forcePaymentValidations

Type: Record<string, any>
Default value: {}

There can be circumstances when Tamaro will ignore the value specified in paymentValidations config option for certain fields because it's required for the transaction to be successful. For example, recurring payments require the email address field, Tamaro will automatically render 'stored_customer_email' field and make it required, skipping paymentValidations.stored_customer_email.required: false.

You can use forcePaymentValidations config option to overrule this default Tamaro behavior, but in this case you MUST be sure to set all required fields by yourself.

showFields

Type: Record<string, boolean | ConfigCondition<boolean>[]>
Default value:

{
stored_is_company_donation: false,
stored_customer_company: false,
stored_customer_salutation: true,
stored_customer_firstname: true,
stored_customer_lastname: true,
stored_customer_raw_name: false,
stored_customer_phone: false,
stored_customer_email: true,
stored_customer_birthdate: true,
stored_customer_pan: false,
stored_customer_fiscal_code: false,
stored_customer_email_permission: true,
stored_customer_message: true,
stored_customer_donation_receipt: true,
stored_customer_street: true,
stored_customer_street_number: true,
stored_customer_street2: true,
stored_customer_pobox: false,
stored_customer_zip_code: true,
stored_customer_city: true,
stored_customer_country: true,
stored_customer_state: true,
stored_customer_raw_address: false,
bic: false,
}

Defines the visible fields for the payment/donation form.

forceShowFields

Type: Record<string, boolean | ConfigCondition<boolean>[]>
Default value: {}

There can be circumstances when Tamaro will ignore the value specified in showFields config option for certain fields because it's required for the transaction to be successful. For example, file-based Sepa direct debits require the address fields and if this payment method is selected, Tamaro will automatically render 'payment_address' block with all required address fields, skipping showFields.stored_customer_street: false and similar config option values.

You can use forceShowFields config option to overrule this default Tamaro behavior, but in this case you MUST be sure to set all required fields by yourself.

showBlocks

Type: Record<string, boolean | ConfigCondition<boolean>[]>
Default value:

{
payment_purposes: true,
payment_amounts_and_intervals: true,
payment_payment_methods: true,
payment_profile: true,
payment_profile_short: false,
payment_address: false,
payment_email_permission: false,
payment_cover_fee: false,
payment_sepa_mandate_terms: false,
}

Defines the visible blocks for the payment/donation form.

forceShowBlocks

Type: Record<string, boolean | ConfigCondition<boolean>[]>
Default value: {}

There can be circumstances when Tamaro will ignore the value specified in showBlocks config option for certain fields because it's required for the transaction to be successful. For example, file-based Sepa direct debits require the address fields and if this payment method is selected, Tamaro will automatically render 'payment_address' block with all required address fields, skipping showBlocks.payment_address: false and similar config option values.

You can use forceShowBlocks config option to overrule this default Tamaro behavior, but in this case you MUST be sure to set all required fields by yourself.

blocksOrder

Type: string[]
Default value:

[
'payment_purposes',
'payment_amounts_and_intervals',
'payment_payment_methods',
'payment_profile',
'payment_profile_short',
'payment_address',
'payment_email_permission',
'payment_cover_fee',
'payment_sepa_mandate_terms',
];

Defines the order of the blocks for the payment/donation form.

showBlockHeaders

Type: Record<string, boolean | ConfigCondition<boolean>[]>
Default value:

{
payment_sepa_mandate_terms: false,
}

Defines whether to show block headers for the payment/donation form blocks.

onlySubmitVisibleStandardFields

Type: boolean
Default value: false

If set to true, only visible standard fields will be submitted on form submit.

showSubmitButton

Type: boolean | ConfigCondition<boolean>[]
Default value: true

Allows to show/hide the submit button for the payment/donation form.

showFooter

Type: boolean | ConfigCondition<boolean>[]
Default value: true

Allows to show/hide the footer for the payment/donation form.

showTestModeBar

Type: boolean | ConfigCondition<boolean>[]
Default value: true

Allows to show/hide the test mode bar for the payment/donation form.

showRetryPaymentButton

Type: boolean | ConfigCondition<boolean>[]
Default value: true

When payment is completed, then the link (button) "Make another donation" is shown by default.
This config option allows to show/hide this link (button).

showPaymentInfo

Type: boolean | ConfigCondition<boolean>[]
Default value: true

This config option allows to show/hide payment/subscription info block on the Payment/Subscription result page.

recurringIntervalsLayout

Type: 'compact' | 'list' | ConfigCondition<'compact' | 'list'>[]
Default value: 'compact'

Defines the layout for the recurring intervals selection:

  • If set to 'list', all defined recurring interval options will be displayed directly in the form.
  • If set to 'compact' only the default recurring interval option will be displayed, as well as 'onetime'.
    The rest of the configured recurring intervals are displayed as options of a select dropdown.

Layout automatically falls back to 'list' in the following cases:

  • If both 'onetime' and 'recurring' payment types are available and there is only 1 allowed recurring interval.
  • If only 'recurring' payment type is available and there are only 2 possible recurring intervals.

paymentFormDataCache

Type: boolean
Default value: true

Allows to disable storing the form data in the session storage before payment is sent and restoring it when the form is re-initialized.

allowSwissQrBillOrder

Type: boolean | ConfigCondition<boolean>[]
Default value: false

Allows to show/hide "Also send me the QR bill on paper" checkbox for Swiss QR Bill payment method.

requireSwissQrBillReferenceNumber

Type: boolean | ConfigCondition<boolean>[]
Default value: false

Sets reference number to be automatically fetched for Swiss QR Bill payment method.
If this option is enabled, reference number will be fetched and set only if corresponding service is configured up-front by RaiseNow Customer Success team.

analyticsEventTracking

Type: boolean | ConfigCondition<boolean>[]
Default value:

[
{
if: 'testMode() == true',
then: false,
else: true,
},
];

Tamaro sends some events (like form submission, payment success, etc.) for analytics purposes in prod environment. It doesn't collect any personal data, but it helps to understand how the widget is used and to improve it.

This option allows you to opt-out from sending these events by setting it to false.

abTestVariants

Type: string[]
Default value: []

Defines the available A/B test variants for the payment/donation form.
If test variants are defined, you can use abTestVariant() parser helper in conditions to specify different values for different variants.

Read more here.

ddFormTemplate

Type: undefined | string | ConfigCondition<string>[]
Default value: undefined

Defines the URL of the direct debit form template for the payment/donation form.

oneClickPayment

Type: boolean | ConfigCondition<boolean>[]
Default value: false

When set to true, a payment source token will be created, which can be used for further charges without card details.

dateStoreFormat

Type: string
Default value: 'YYYY-MM-DD'

Defines the date format, which is used to store the date values in the form data.

dateDisplayFormat

Type: string
Default value: 'DD / MM / YYYY'

Defines the date format, which is used to display the date values in the form fields.

recaptchaKey

Type: undefined | string
Default value: undefined

Defines the reCAPTCHA key for the payment/donation form.
You can enable google reCAPTCHA simply by providing a recaptcha api key.
You can create one here.

Make sure you use reCAPTCHA v2 (invisible). To test that recaptcha actually works, simply open the widget inside an anonymous browser window and submit a new payment. This should be enough to make recaptcha "nervous" and kick in.

customCssUrl

Type: undefined | string
Default value: undefined

Allows to specify a custom CSS file URL to be loaded for the payment/donation form.

twintCheckoutUrlParams

Type: undefined | Record<string, string>
Default value: {}

Defines the URL parameters for the Twint checkout URL.

updateFormDataOnRetryPayment

Type: undefined | boolean | ConfigCondition<boolean>[]
Default value: true

Enables/disables updating the form data with the values from the previous payment/donation.

After the donation is completed, supporter is redirected to a "Result" page, where "Make another donation" button is shown. Clicking this button leads to the redirect to the widget form view, where the form is prefilled with the data from the previous payment object. When config option updateFormDataOnRetryPayment is set to false, the form will not be prefilled with the data from the previous payment object.

donationReceiptRequiresFields

Type: boolean
Default value: true

Enables/disables the behavior when additional fields are required when the donation receipt is requested.

autogeneratedDonationReceiptEnabled

Type: boolean
Default value: false

If this config option is set to true and if supporter checked donation receipt checkbox, then additional parameter raisenow_parameters.integration.raisenow_donation_receipt_available is added into EPMS payment object.

This config option can be used with custom widgets if organisation has uploaded their donation receipt templates in their Hub acccount.

organisationCountryCode

Type: undefined | string
Default value: undefined

Defines the country code of the organisation for the payment/donation form.
This is needed for the automatic generation of the donation receipt.

If donation receipt checkbox is checked and donationReceiptRequiresFields is set to true, then some fields become required.

slots

Default value: {}

Allows to define custom slots as well as to add custom fields to the existing ones.
More info about slots can be found on the Slots page.

translations

Type: undefined | Record<string, Record<string, any>>
Default value: {}

Allows to define custom translations for the payment/donation form.