Translations for Payments

Beta

The following entities are translatable for payments:

  • Display Name as display_name
  • Payment Instruction as payment_instruction

Translations appear in the following storefront views:

  • Checkout page (payment methods listing)
  • Order confirmation page
  • Order email
  • My Account page (payment methods and orders)

Resource fields

For payment method related translation entries, the resourceId follows this structure:

bc/store/paymentMethod/{payment_method_id}.{currency}

SegmentDescription
bc/store/paymentMethodNamespace prefix for payment translation resources.
{payment_method_id}Payment method identifier (e.g., authorizenet.credit_card).
{currency}The ISO currency code configured for the payment method (e.g USD).

A single resourceId corresponds to all payment profiles that share the same payment method ID and currency. As a result:

  • Translations apply at the payment method + currency level.
  • If a provider has multiple profiles (e.g., multiple gateway configurations) using the same payment method ID and same currency, they share the same translation resource.
  • Updating the translation updates the display for every profile in that set.

Example

In this example, the payment method is authorizenet.credit_card and the currency is USD. The translation will be applied to all payment profiles that use the same payment method ID and currency.

"resourceId": "bc/store/paymentMethod/authorizenet.credit_card.USD"

Querying Payment Method Translations

This query retrieves all payment method translations for a specific channel and locale, including the original and translated values for display names and payment instructions.

1query ListPaymentMethodTranslations {
2 store {
3 translations(
4 filters: {
5 resourceType: PAYMENT_METHODS
6 channelId: "bc/store/channel/1"
7 localeId: "bc/store/locale/en-AU"
8 }
9 ) {
10 edges {
11 node {
12 resourceId
13 fields {
14 fieldName
15 original
16 translation
17 }
18 }
19 cursor
20 }
21 pageInfo {
22 hasNextPage
23 hasPreviousPage
24 startCursor
25 endCursor
26 }
27 }
28 }
29}

Querying Payment Method Translations by resourceId

When querying a translation by resourceId, you must provide the full resourceId in the format bc/store/paymentMethod/{payment_method_id}.{currency}.

This query returns a translation by resourceId.

1query {
2 store {
3 translations(
4 filters: {
5 resourceType: PAYMENT_METHODS
6 channelId: "bc/store/channel/1"
7 localeId: "bc/store/locale/en"
8 resourceIds: [
9 "bc/store/paymentMethod/authorizenet.credit_card.USD"
10 ]
11 }
12 ) {
13 edges {
14 node {
15 resourceId
16 fields {
17 fieldName
18 original
19 translation
20 }
21 }
22 cursor
23 }
24 }
25 }
26}

Update a Payment Method Translation

This mutation updates the translated values for payment method display names and payment instructions for a specific payment method, channel, and locale.

1mutation UpdatePaymentMethodTranslations {
2 translation {
3 updateTranslations(
4 input: {
5 resourceType: PAYMENT_METHODS
6 channelId: "bc/store/channel/1"
7 localeId: "bc/store/locale/en-AU"
8 entities: [
9 {
10 resourceId: "bc/store/paymentMethod/authorizenet.credit_card.USD"
11 fields: [
12 { fieldName: "display_name", value: "Translated display" }
13 { fieldName: "payment_instruction", value: "Translated instructions" }
14 ]
15 }
16 ]
17 }
18 ) {
19 errors {
20 __typename
21 ... on ValidationError {
22 message
23 }
24 ... on EntityNotFoundError {
25 id
26 message
27 }
28 ... on InvalidTranslationEntityFieldsError {
29 id
30 message
31 fields
32 }
33 }
34 }
35 }
36}

Delete a Payment Method Translation

This mutation removes translated values for specified payment method fields, reverting them to the original values for a specific payment method, channel, and locale.

1mutation {
2 translation {
3 deleteTranslations(
4 input: {
5 resourceType: PAYMENT_METHODS
6 channelId: "bc/store/channel/1"
7 localeId: "bc/store/locale/en-AU"
8 resources: [
9 {
10 resourceId: "bc/store/paymentMethod/authorizenet.credit_card.USD"
11 fields: ["display_name", "payment_instruction"]
12 }
13 ]
14 }
15 ) {
16 errors {
17 __typename
18 ... on ValidationError {
19 message
20 }
21 ... on EntityNotFoundError {
22 id
23 message
24 }
25 ... on InvalidTranslationEntityFieldsError {
26 id
27 message
28 fields
29 }
30 }
31 }
32 }
33}