...
Code Block | ||
---|---|---|
| ||
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;
} |
...