Платежный лист Apple Pay не открывается
Я пытаюсь отладить пример кода Apple, чтобы открыть платежную ведомость. Вчера это сработало, и платежная ведомость открылась, но сегодня я думаю, что не могу пройти этап session.onvalidatemerchant. Когда я отлаживаю, он не остановится в getApplePaySession(event.validationURL) и вместо этого перейдет прямо к session.onshippingmethodselected (что не имеет смысла, потому что лайт-бокс еще не был открыт, верно?!).
У меня нет ошибок в консоли. "Подтвердить купец" не записывается в консоль. Это код JS, предоставленный Apple, и который я использую:
const session = new ApplePaySession(1, paymentRequest);
/**
* Merchant Validation
* We call our merchant session endpoint, passing the URL to use
*/
session.onvalidatemerchant = (event) => {
console.log("Validate merchant");
const validationURL = event.validationURL;
getApplePaySession(event.validationURL).then(function(response) {
console.log(response);
session.completeMerchantValidation(response);
});
};
/**
* Shipping Method Selection
* If the user changes their chosen shipping method we need to recalculate
* the total price. We can use the shipping method identifier to determine
* which method was selected.
*/
session.onshippingmethodselected = (event) => {
const shippingCost = event.shippingMethod.identifier === 'free' ? '0.00' : '5.00';
const totalCost = event.shippingMethod.identifier === 'free' ? '8.99' : '13.99';
const lineItems = [
{
label: 'Shipping',
amount: shippingCost,
},
];
const total = {
label: 'Apple Pay Example',
amount: totalCost,
};
session.completeShippingMethodSelection(ApplePaySession.STATUS_SUCCESS, total, lineItems);
};
1 ответ
Решение
Я решил проблему. Mac и iPhone не были настроены с одним и тем же пользователем iCloud.