All text within Hosted Cashier is by default available in 29 different languages, ISO-639-1 codes en, bg, cs, cy, da, de, el, es, et, fi, fr, hr, hu, in_ID, it, ja, lt, nl, no, pl, pt, pt_BR, ro, ru, sk, sl, sv, th, tr, zh_CN, zh_TW. You can control which locale is used in the hosted initialisation request (see Hosted payments API). When determining what locale to use when generating HTML, Hosted Cashier uses the priority order
- Locale in hosted initialisation request
- Locale requested by the user’s browser
- Application default (en)
The skin can change any text for any locale by providing one or more messages files. Each file sets what text is to be shown on the page for a defined set of keys. The file(s) go in a ‘locale’ folder at the top of the skin zip and must be named messages_<locale>.properties
to specify the properties for a given locale. To change the messages for the default locale name the file messages.properties
. Messages from the default locale are used when there is no locale specific message.
So, for example, to change the ‘pay now’ button to ‘continue’ the messages file could contain the following. The line beginning ‘#’ is a comment.
messages.properties
# Custom text for payment button payment.pay.button = Continue
And for German it could be:
messages_de.properties
payment.pay.button = Fortsetzen
When a key is not in a messages file then other files are checked using the following order or precedence:
- Skin file for the specified locale
- Skin default file
- Pay360 file for the specified locale
- Pay360 default file
What that means, in the above example, is that payment.pay.button = Continue
will be used for all locales where the skin doesn’t provide a locale specific translation. So if the skin doesn’t provide a messages_fr.properties, then the value ‘Continue’ will be used for the pay button, and not the ‘Payer’ defined in the Pay360 French messages file. Should you wish to use the Pay360 messages as the fall back, and only change the button for English, then the skin should provide messages_en.properties
instead of messages.properties
.
HTML
The values for the message keys can contain HTML, however they should not contain any javascript. For those labels that are used in attributes in the page, such as buttons and placeholders, HTML will not work.
List of Message Keys
Message Key | Description | Default Value | Parameters |
---|---|---|---|
Page titles
These are the titles in the page metadata. |
|||
payment.title.register-card | The page for paying with no saved cards | Register Card | |
payment.title.card-list-selection | The page for paying when the user has at least one saved card. | Card List Selection | |
payout.title.card-list-selection | The page for making a payout. | Card List Selection | |
payment.title.3d-secure | The page the user is taken to before being redirected to 3D Secure. | 3D Secure | |
payment.title.top-redirect | The page the user is taken to before redirected when escaping a frame, such as to PayPal | Top Redirect | |
manage.title.manage-cards | The manage cards page | Manage Cards | |
Payment page
Text on pages for performing a payment. |
|||
payment.card.pan.label | Label for the card number field. | Card Number | |
payment.card.pan.placeholder | Placeholder for the card number field. | ||
payment.card.cardholder-name.label | Label for the card holder name field. | Cardholder Name | |
payment.card.cardholder-name.placeholder | Placeholder for the card holder name field. | ||
payment.card.nickname.label | Label for the card nickname field. | Card Nickname | |
payment.card.nickname.placeholder | Placeholder for the card nickname field. | ||
payment.card.issue-number.label | Label for the issue number field. | Issue Number (if applicable) | |
payment.card.issue-number.placeholder | Placeholder for the issue number field. | ||
payment.card.csc.label | Label for the security code field. | CSC Number | |
payment.card.csc.placeholder | Placeholder for the security code field. | ||
payment.card.billing-address-line1.label | Label for the address line 1 field. | Address Line 1 | |
payment.card.billing-address-line1.placeholder | Placeholder for the address line 1 field. | ||
payment.card.billing-address-line2.label | Label for the address line 2 field. | Address Line 2 | |
payment.card.billing-address-line2.placeholder | Placeholder for the address line 2 field. | ||
payment.card.billing-address-line3.label | Label for the address line 3 field. | Address Line 3 | |
payment.card.billing-address-line3.placeholder | Placeholder for the address line 3 field. | ||
payment.card.billing-address-line4.label | Label for the address line 4 field. | Address Line 4 | |
payment.card.billing-address-line4.placeholder | Placeholder for the address line 4 field. | ||
payment.card.billing-address-city.label | Label for the city field. | City | |
payment.card.billing-address-city.placeholder | Placeholder for the city field. | ||
payment.card.billing-address-region.label | Label for the region field. | Region | |
payment.card.billing-address-region.placeholder | Placeholder for the city field. | ||
payment.card.billing-address-postcode.label | Label for the postcode field. | Post Code | |
payment.card.billing-address-postcode.placeholder | Placeholder for the postcode field. | ||
payment.card.billing-address-country.label | Label for the country field | Country | |
payment.card.billing-address-country.placeholder | Placeholder for the country field. | — select a country — | |
payment.card.valid-from.label | Label for the valid from field | Valid From (if applicable) | |
payment.card.valid-from.month.placeholder | Placeholder for the valid from month field. | mm | |
payment.card.valid-from.year.placeholder | Placeholder for the valid from year field. | yy | |
payment.card.expiry.label | Label for the expiry field. | Expires | |
payment.card.expiry.month.placeholder | Placeholder for the expiry month field. | mm | |
payment.card.expiry.year.placeholder | Placeholder for the expiry year field. | yy | |
payment.amount.freeform.label | Label for the amount field when it is editable. | Amount ({0}) | Currency symbol |
payment.amount.freeform.placeholder | Placeholder for the amount field when it is editable. | ||
payment.amount.fixed.label | Label for the amount field when it is fixed. | Amount | |
payment.amount.range.label | Label for the amount field when it is a range. | Amount ({0}) | Currency symbol |
payment.amount.range.placeholder | Placeholder for the amount field when it is a range. | ||
payment.amount.choice.label | Label for the amount field when it is a choice. | Amount ({0}) | Currency symbol |
payment.amount.suggested.label | Label for the amount field when it is range input with a suggested value. | Amount ({0}) | Currency symbol |
payment.amount.min-max.label | Amount help text when there is a range. | {0} minimum, {1} maximum | Minimum amount, Maximum amount |
payment.amount.min.label | Amount help text when there is a minimum but no maximum. | {0} minimum | Minimum amount |
payment.amount.max.label | Amount help text when there is a maximum but no minimum. | {0} maximum | Maximum amount |
payment.card.update.label | The link to update a card. | Update | |
payment.add-card.link | Link to add a new card. | Add New Card | |
payment.card.save.label | Label for the card save checkbox. | Save My Card | |
payment.card.default.label | Label for the save card as default checkbox. | Set as My Default Card | |
payment.pay.button | Text for the pay button | Pay Now | |
payment.cancel.link | Label for the link to abandone the hosted session and return to the merchant website. | Cancel | |
payment.back.link | Label to go back from the new card payment page to the card selection page. | Back | |
payment.card.change.label | Link to add a new card replacing the existing one. This occurs in place of the add a card link when the maximum number of cards per customer is one. | Change Your Card | |
payment.method.paypal.label | The label on the PayPal payment method selector. | Pay with PayPal | |
payment.method.card.label | The label on the Card payment method selector. Only on the new card payment page when there are non-card payment methods also available. | Pay with Card | |
Payout page | |||
payout.card.cardholder-name.label | Label for the card number field. | Cardholder Name | |
payout.amount.freeform.label | Label for the amount field when it is editable. | Amount ({0}) | Currency symbol |
payment.amount.freeform.placeholder | Placeholder for the amount field when it is editable. | ||
payout.amount.fixed.label | Label for the amount field when it is fixed. | Amount | |
payout.amount.range.label | Label for the amount field when it is a range. | Amount ({0}) | Currency symbol |
payment.amount.range.placeholder | Placeholder for the amount field when it is a range. | ||
payout.amount.choice.label | Label for the amount field when it is a choice. | Amount ({0}) | Currency symbol |
payout.amount.suggested.label | Label for the amount field when it is range input with a suggested value. | Amount ({0}) | Currency symbol |
payout.amount.min-max.label | Amount help text when there is a range. | {0} minimum, {1} maximum | Minimum amount, Maximum amount |
payout.amount.min.label | Amount help text when there is a minimum but no maximum. | {0} minimum | Minimum amount |
payout.amount.max.label | Amount help text when there is a maximum but no minimum. | {0} maximum | Maximum amount |
payout.pay.button | Text for the pay button | Pay Now | |
payout.cancel.link | Label for the link to abandone the hosted session and return to the merchant website. | Cancel | |
Manage cards page | |||
manage.card.default.label | Label for the save card as default checkbox. | Set as My Default Card | |
manage.card.cardholder-name.label | Label for the card holder name field. | Cardholder Name | |
manage.card.cardholder-name.placeholder | Placeholder for the card holder name field. | ||
manage.card.nickname.label | Label for the card nickname field. | Card Nickname | |
manage.card.nickname.placeholder | Placeholder for the card nickname field. | ||
manage.card.valid-from.label | Label for the valid from field. | Valid From (if applicable) | |
manage.card.valid-from.month.placeholder | Placeholder for the valid from month field. | mm | |
manage.card.valid-from.year.placeholder | Placeholder for the valid from year field. | yy | |
manage.card.expiry.label | Label for the expiry field. | Expires | |
manage.card.expiry.month.placeholder | Placeholder for the expiry month field. | mm | |
manage.card.expiry.year.placeholder | Placeholder for the expiry year field. | yy | |
manage.card.issue-number.label | Label for the issue number field. | Issue Number (if applicable) | |
manage.card.issue-number.placeholder | Placeholder for the issue number field. | ||
manage.card.billing-address-line1.label | Label for the address line 1 field. | Address Line 1 | |
manage.card.billing-address-line1.placeholder | Placeholder for the address line 1 field. | ||
manage.card.billing-address-line2.label | Label for the address line 2 field. | Address Line 2 | |
manage.card.billing-address-line2.placeholder | Placeholder for the address line 2 field. | ||
manage.card.billing-address-line3.label | Label for the address line 3 field. | Address Line 3 | |
manage.card.billing-address-line3.placeholder | Placeholder for the address line 3 field. | ||
manage.card.billing-address-line4.label | Label for the address line 4 field. | Address Line 4 | |
manage.card.billing-address-line4.placeholder | Placeholder for the address line 4 field. | ||
manage.card.billing-address-city.label | Label for the city field. | City | |
manage.card.billing-address-city.placeholder | Placeholder for the city field. | ||
manage.card.billing-address-region.label | Label for the region field. | Region | |
manage.card.billing-address-region.placeholder | Placeholder for the region field. | ||
manage.card.billing-address-postcode.label | Label for the postcode field. | Post Code | |
manage.card.billing-address-postcode.placeholder | Placeholder for the postcode field. | ||
manage.card.billing-address-country.label | Label for the country field. | Country | |
manage.back.link | Label to go back to the card selection page. | continue with payment | |
manage.cancel.link | Label for the link to abandon the hosted session and return to the merchant website. Only on the page for a card management session. | Cancel | |
manage.delete.button | Button to delete the selected card. | Delete | |
manage.delete.disabled.tooltip | Tooltip on the delete button when a card cannot be deleted. | Card deletion unavailable | |
manage.update.button | Button to save changes to the selected card. | Update | |
manage.card-updated.message | Massage shown at the top of the page after changes have been saved. | Card Successfully Updated | |
Validation messages
These messages are shown after form fields when the content has failed validation. |
|||
validation.transaction.amount | The amount value is not valid. | Please enter a valid amount | |
validation.transaction.amount.csc | The secuity code is not valid. | Please enter the security code | |
validation.transaction.amount.invalidnumber | The amount contains invalid characters. | The amount you entered must be numeric | |
validation.transaction.amount.option | If the amount is not one of the required options, when there is a specified list. This shoudl not happen unless the form control is overridden. | Value must be one of given options | |
validation.transaction.amount.other | The amount given is negative | The amount you entered must be greater than zero | |
validation.transaction.amount.range | The amount is outside the required range. | Value must be in range | |
validation.transaction.card.selection | A unavailable card has been selected, this should not happen unless the form control is overridden. | Invalid card selection | |
validation.transaction.card.billingAddress | A billing address field is too long. | Max number of permitted characters is 255 | |
validation.transaction.pan | The card number is not valid. | Please enter a valid card number | |
validation.transaction.amount.invalidcsc | The security code is not valid. | Security code must be 3 or 4 digits long | |
validation.transaction.issueNumber | The issue number is not valid. | Issue number must be between 0 and 99 | |
validation.transaction.validDate.format | The valid from date is not valid. | Please enter a valid start date | |
validation.transaction.validDate.future | The valid from date is in the future. | Valid From date must be set in the past | |
validation.transaction.expiryDate.format | The expiry date is not valid. | Please enter a valid expiry date | |
validation.transaction.cardHolder | The cardholder name is not provided. | Please enter the name as shown on the card | |
validation.transaction.card.nickname.long | The card nickname is too long. | Please enter a maximum of 20 characters | |
validation.transaction.card.nickname.characters | The card nickname contains invalid characters | Please check that the nickname only contains either letters, numbers, spaces, commas, hyphens or apostrophes | |
Redirect messages
Text shown to the user while awaiting a redirect. |
|||
redirect.3ds.message | The only text on the page when redirecting for 3D Secure. | Requesting authorisation, please wait… | |
redirect.message | The only text on the page when redirecting and escaping the frame. | Redirecting… If you are not redirected shortly, please follow <a href=”{0}” id=”redirectLink” target=”_top”>this link</a> | Destination URL. |
Error messages
Text shown when something has gone wrong. |
|||
error.cannot-process-transaction | An error occurred processing a transaction. This is shown on the payment form allowing the customer to retry. | <p>An unexpected error occurred. Your payment was not processed. Please try again later.</p> | |
error.max-cards-limit-reached | The user has tried to register a card when having reached the configured limit. | You’ve reached the maximum number of cards allowed. | |
error.cannot-register-card | If the payment has been rejected due to merchant customer and card restrictions. E.g. Maximum number of registrations in a 24 hour period, no duplicate registrations allowed. | <p>Unfortunately theft and misuse of payment methods is common today. We have implemented various measures to ensure the safety of your money. One of these measures is to return any funds deposited back to the original payment method they came from, wherever possible. This complies with money laundering & fraud prevention regulations. For this reason you may not be able to change your card before having made a withdrawal.</p><p>When you have withdrawn funds from your account, please return to the Change Card option, whereupon you will be able to update your card.</p><p>If you encounter any problems, please contact customer services for assistance.</p> | |
error.cannot-register-card.limit.net-deposit-value | If a card registration is prevented due to the net deposit value restriction. | <p>Unfortunately theft and misuse of payment methods is common today. We have implemented various measures to ensure the safety of your money. One of these measures is to return any funds deposited back to the original payment method they came from, wherever possible. This complies with money laundering & fraud prevention regulations. For this reason you may not be able to change your card before having made a withdrawal.</p><p>When you have withdrawn funds from your account, please return to the Change Card option, whereupon you will be able to update your card.</p><p>If you encounter any problems, please contact customer services for assistance.</p> | |
error.cannot-register-card.limit.daily-registrations | If a card registration is prevented due to the daily registrations restriction. | <p>Unfortunately theft and misuse of payment methods is common today. We have implemented various measures to ensure the safety of your money. One of these measures is to return any funds deposited back to the original payment method they came from, wherever possible. This complies with money laundering & fraud prevention regulations. For this reason you may not be able to change your card before having made a withdrawal.</p><p>When you have withdrawn funds from your account, please return to the Change Card option, whereupon you will be able to update your card.</p><p>If you encounter any problems, please contact customer services for assistance.</p> | |
error.cannot-register-card.limit.address-match-only | If a card registration is prevented due to the address match only count restriction. | <p>Unfortunately theft and misuse of payment methods is common today. We have implemented various measures to ensure the safety of your money. One of these measures is to return any funds deposited back to the original payment method they came from, wherever possible. This complies with money laundering & fraud prevention regulations. For this reason you may not be able to change your card before having made a withdrawal.</p><p>When you have withdrawn funds from your account, please return to the Change Card option, whereupon you will be able to update your card.</p><p>If you encounter any problems, please contact customer services for assistance.</p> | |
error.cannot-register-card.limit.no-data-match | If a card registration is prevented due to the no data match count restriction. | <p>Unfortunately theft and misuse of payment methods is common today. We have implemented various measures to ensure the safety of your money. One of these measures is to return any funds deposited back to the original payment method they came from, wherever possible. This complies with money laundering & fraud prevention regulations. For this reason you may not be able to change your card before having made a withdrawal.</p><p>When you have withdrawn funds from your account, please return to the Change Card option, whereupon you will be able to update your card.</p><p>If you encounter any problems, please contact customer services for assistance.</p> | |
error.cannot-register-card.return.link | Link from the cannot register card page back to the payment page. | Go Back | |
error.generic.heading | Heading on the generic error page | Error | |
error.generic.message-request | An error that could not be handled has occurred. This is shown on its own page. | An Error Occurred Processing Your Request | |
Error page titles
Title for when an error requires its own page, very rare unless the user is bypassing form controls by editing HTML, or there is a major server side malfunction. |
|||
error.title.cannot-add-new-card | Page telling the user they cannot add the given card. | Cannot Register New Card | |
error.title.cannot-delete-card | Page telling the user they cannot delete the specified card. | Cannot Delete Card | |
error.title.cannot-register-card | Page telling the user they cannot register the given card. | Cannot Register Card | |
error.title.generic | Title for an unrecoverable error page. | Generic Error | |
EmailPay messages | |||
payment.title.result | Title for the transaction result page. | Result | |
info.email-pay.used.message | Text when the link is not longer usable. | Unfortunately this link is no longer accessible, as a previous payment has already been successfully authorised. Please contact the merchant should you want to make a new payment. | |
info.email-pay.expired.message | Text when the link has expired. | Unfortunately the page you’re trying to access cannot be found. This is likely because the link has either expired or has been entered incorrectly. | |
info.email-pay.cancelled.message | Text when the link has been cancelled. | This particular link has now been cancelled by the merchant. Please contact the merchant for further details or to request a new payment link. | |
info.email-pay.pending.message | Text when the link being visited is already in use. | It would appear that another transaction is currently being processed using this link. To continue, please shut down all open payment links and try again. | |
info.email-pay.error.message | Text for a temporary error when visiting a link and the user should retry. | An error occurred while attempting to load this page. Please try again later. | |
info.email-pay.not-found.message | Text when the link id given does not exist. | Unfortunately the page you’re trying to access cannot be found. This is likely because the link has either expired or has been entered incorrectly. | |
result.not-submitted.message | Text shown when the user tries to pay but the link has been cancelled by the merchant. Therefore it was cancelled while the user was on the payment page. | The payment was not submitted for authorisation and has now been cancelled | |
result.successful.message | Text when the transaction was successful. | Your payment has been successful | |
result.not-successful.message | Text when the transaction did not succeed. | Unfortunately on this occasion your payment was unsuccessful and the transaction did not go through. Please try another card or payment type and contact your card issuer for further details | |
error.title.email-pay | Title for an unrecoverable error page when using an EmailPay link. | EmailPay Errors |