При использовании API PaymentRequest с Apple pay невозможно добавить новые shippingOptions
Существует проблема при внедрении Apple Pay с помощью PaymentRequest API
Согласно документации webkit, это должно быть довольно просто.
Вот рабочий пример (Вам понадобится сафари на Mac или iPhone / iPad). Исходный код JS находится здесь.
Я изменил приведенный выше код так далее onshippingaddresschange
Если мы добавим или обновим новый способ доставки. Но при попытке поставить любое обновление details.shippingOptions
с чем-то вроде этого:
...
....
paymentRequest.onshippingaddresschange = event => {
let selectedZip = event.target.shippingAddress.postalCode;
// simulate a ajax call
getData("/api/getShippingOptions/?zip="+selectedZip).then(resp => {
// update details
details.shippingOptions.push({
id: "ground",
label: "Ground Shipping",
amount: {
value: "5.00",
currency: "USD"
}
})
event.updateWith(details);
})
};
....
...
Проблема в том, что это полностью игнорируется, он по-прежнему показывает изначально поставленный shippingOptions
то же самое происходит, когда мы поставляем новый массив shippingOptions
Вот модифицированный код см. Суть
Кажется, он игнорирует обновленные shippingOptions