ApplePay js — пользовательское сообщение об ошибке для completeShippingContactSelection

Я хочу добавить пользовательское сообщение об ошибке в ApplePay, когда адрес доставки недействителен. У нас есть следующий код (который показывает общее сообщение об ошибке)

applePay.session.completeShippingContactSelection(
    ApplePaySession.STATUS_FAILURE,
    [],
    { label: "error", amount: "1" },
    [],
  );

Согласно документации Apple, в ApplePay версии 3 появился новый тип ошибки. (мы используем версию 3). Итак, я попробовал следующий код:

applePay.session.completeShippingContactSelection(
    {
      errors: [ { code: "shippingContactInvalid", contactField: "postalCode", message: "ZIP Code is invalid" }],
      newShippingMethods: [],
      newTotal: { label: "error", amount: "1", type: "pending" },
      newLineItems: [],
    }
  );

Однако во время выполнения я получаю сообщение об ошибке - TypeError type error. Ошибка не отображается.

Как я могу отобразить пользовательское сообщение об ошибке?


person Kazuki    schedule 01.05.2020    source источник


Ответы (1)


Советы:

  • type: pending скрывает итог
  • label должно быть названием компании, например Something LCC.

Вы можете попробовать использовать конструктор ApplePayError:

const zipAppleError = new ApplePayError("shippingContactInvalid", "postalCode", "ZIP Code is invalid");

applePay.session.completeShippingContactSelection({
  newShippingMethods: [],
  newTotal: { label: "error", amount: "1", type: "pending" },
  newLineItems: [],
  errors: [zipAppleError],
});
person Marek Ka.    schedule 14.08.2020