anchor.diff:  
           public void CheckoutWithNativePay(string key, CheckoutSuccessCallback success, CheckoutCancelCallback cancelled, CheckoutFailureCallback failure) {
               if (NativeCheckout == null) {
  -                // TODO use custom exception
  -                throw new Exception("This platform does not support checkout with native pay");
  +                throw new PlatformNotSupportedException("This platform does not support checkout with native pay");
               }
   
               CheckoutSave(error => {
  
positive.code:             if (NativeCheckout != null) {
                  NativeCheckout.ShowPaymentSetup();
              } else {
                  // TODO throw an exception, this platform does not support showing a native payment setup
              }
          }
  
  
negative.code: 
          public void CheckoutWithNativeWebView(CheckoutSuccessCallback success, CheckoutCancelCallback cancelled, CheckoutFailureCallback failure) {
              if (WebCheckout == null) {
                  throw new PlatformNotSupportedException("This platform does not support checkout with web pay");
              }
  
              GetWebCheckoutLink(url => {
  