- From: Marcos Cáceres <notifications@github.com>
- Date: Fri, 24 Aug 2018 06:23:40 +0000 (UTC)
- To: w3c/payment-request <payment-request@noreply.github.com>
- Cc: Subscribed <subscribed@noreply.github.com>
Received on Friday, 24 August 2018 06:24:02 UTC
Ok, updated based on recent discussions. This is how it works in theory (it's a bit ugly, but because `paymentMethodErrors` 🤷🏽♂️): ```JS const options = { requestBillingAddress: true, }; const request = new PaymentRequest(methods, details, options); request.onpaymentmethodchange = ev => { // get billing address const { billingAddress } = ev.methodDetails; // get new total const updatedTotalPromise = asynCalcNewTotal(billingAddress); ev.updateWith(updatedTotalPromise); }; const response = await request.show(); await validAddresses(response); async function validAddresses(response) { const { shippingAddress, details: { billingAddress }, } = response; const [shipping, billingErrors] = await Promise.all([ validateShippingAddress(shippingAddress), validateShippingAddress(billingAddress), ]); const billing = billingErrors ? { paymentMethodErrors: { billing: billingErrors } } : undefined; const errors = { shipping, billing }; if (Object.getOwnPropertyNames(errors).length) { await response.retry(errors); } return validAddresses(response); } ``` -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/w3c/payment-request/pull/749#issuecomment-415663572
Received on Friday, 24 August 2018 06:24:02 UTC