• Failed basic-card transaction
  • Failed Google Pay transaction
  • Failed BobPay transaction
  • Timed out transaction
  • Invalid completion status
  • Show is called with a delay for basic-card, without a user gesture, so should be rejected.
  • Show is called with a delay for Google Pay, without a user gesture, so should be rejected.
  • Shipping address failures:
    • Merchant does not listen to shipping address change. This should not block UI when user changes shipping address.
    • Merchant listens to shipping address change, but does not call updateWith() on the change event. This should not block UI when user changes shipping address.
    • Timed out promise for address changes. The merchant calls updateWith(promise), but never resolves that promise. This should cancel payment request.
    • Respond to shipping address change with an empty dictionary.
    • Reject the promise for responding to address changes. This should cancel the payment request.
  • show(promise) failures:
    • Reject the show(promise). This should cancel the payment request.
    • Timeout the show(promise). This should cancel the payment request.
    • Calling show(promise) for unsupported payment method identifier. This should cancel the payment request.
    • The show promise resolves with invalid payment details. This should cancel the payment request.