Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languagetypescript
class AuthSpec {
  
  // Card identifier. It should not be the card number but rather a unique
  // thing that identifies a card in the user's wallet.
  // Required.
  private cardID: string;
  
  // 
  private acctNumber: string;
  
  // This is an arbitrary object that uSDK will convey as it is to the 
  // Merchant Backend. It is the recommended place to put purhcase related
  // information in, such as the purchase amount, the line items, etc.
  // Required.
  private purchaseInfo: any;
  
  // Is this a payment authentication? 
  //   TRUE  - payment 
  //   FALSE - non-payment (adding a card to the wallet for instance) 
  private isPaymentAuthentication: boolean;
  
  // An URL the ACS notifies requestor about the completion of 3DS Method
  // Optional, may be missed if no 3DS method needed
  private threeDsMethodNotificationURL: string;
  
  // An URL the ACS notifies the requestor about the completion of a 3DS challenge
  // Optional, may be missed if merchant does not want the uSDK to perform 
  // challenges.
  private notificatonURL: string;
    
  // An URL where the uSDK sends a supported-versions request to get the DS 
  // for the transaction.
  // Required.
  private supportedVersionsURL: string;
  
  // An URL where the uSDK sends a authentication data to
  // Required.
  private authURL: string;
  
  // If the requestor backend (Gateway) requires user authorization, 
  // then here the app passes the HTTP Headers that uSDK will include 
  // when sending requests to the four URLs above.
  // Optional. An empty map is assumed if not passed.
  private authorizationHeaders: Map<string, string>;
  
  // A reference to an iframe element that uSDK will use to display challenges.
  // The recommended workflow is this:
  // 1. The application creates an iFrame element and makes it invisible initially
  // 2. If the transaction requires a challenge, then uSDK calls 
  //    `challengeFlowStarted` callback to let the application make 
  //.   the iFrame visible
  // 3. After challenge flow is completed but before the transaction ends, 
  //    the uSDK calls back via the 'challengeFlowCompleted' callback so 
  //    the app can dispose the iFrame at that point
  private challengeIframe: HTMLIFrameElement;
  
}

...