#applepay #applepayjs
#applepay #applepayjs
Вопрос:
Я тестирую Apple Pay JS, у меня он работает полностью. Тем не менее, я хотел бы заполнить всплывающее окно подтверждения (то, которое запрашивает принятие покупки) некоторыми другими полями, такими как имя пользователя или адрес. В документации говорится, что это можно сделать, но примеров нет. Вот код, на который я ссылаюсь:
var request = {
countryCode: 'US',
currencyCode: 'USD',
supportedNetworks: ['visa', 'masterCard'],
merchantCapabilities: ['supports3DS'],
total: { label: 'Your Label', amount: '10.00' },
}
var session = new ApplePaySession(1, request);
Ответ №1:
Это, безусловно, можно сделать.
Объект PaymentRequest позволяет включить shippingContact
объект, представляющий собой словарь доставки. Доступные поля перечислены на их странице PaymentContact.
Таким образом, ваш платежный запрос будет выглядеть
var request = {
countryCode: 'US',
currencyCode: 'USD',
supportedNetworks: ['visa', 'masterCard'],
merchantCapabilities: ['supports3DS'],
total: { label: 'Your Label', amount: '10.00' },
shippingContact: {
givenName: 'Martin', familyName: 'StackOverflow',
addressLines: ['123 Main St', 'Apt: 5'],
locality: 'Whoville',
administrativeArea: 'FL',
postalCode: '43210',
country: 'US'
}
}
var session = new ApplePaySession(1, request);
Когда вы передаете эту информацию в PaymentRequest, этот адрес будет отображаться в платежной ведомости. Контакт не будет добавлен в их список контактов, и они все равно могут перезаписать его своими контактами, но этот адрес будет отображаться в платежной ведомости по умолчанию.
Ответ №2:
Насколько мне известно, вы не можете записывать контактную информацию в таблицу Apple Pay с помощью JavaScript API, а только считывать значения, введенные пользователем. Предварительно заданные значения поступают с телефона из данных, введенных пользователем для предыдущих сеансов Apple Pay, будь то в Интернете или в приложениях, затем сохраняются устройством в кошельке.
Вы можете прочитать некоторые контактные данные из события, переданного функции onshippingcontactselected, при этом все возвращается в событии, переданном функции onpaymentauthorized.