paytools-3ds

3.1.0-beta.0 • Public • Published

Introduction

This is a Typescript/javascript library that performs ThreeD Secure authentication.

Getting Started

  1. Installation process Use: npm i paytools-3ds

  2. Software dependencies None.

  3. Change log 3.0.0 - Typescript version. Contains changes: Typescript implementation (includes .d.ts file). Support (MasterCard) SLI (Security level information). Use Promise pattern. Implemented as class.

3.0.1-beta.1 Support parameters customerEmail and customerPhone.

3.0.1-beta.2 Added constructor with default api base url.

3.0.1-beta.3 Fix packaging issue.

3.0.1-beta.4 Fix packaging issue.

3.0.1-beta.5 Fix packaging issue.

3.0.1-beta.6 Support eWallet operations.

3.1.0-beta.0 Support card-token based 3ds operation. Fix challenge form display. Added event for Gui interaction.

  1. API references The library contains a single api.

Call:

Classic pattern perform3ds(sessionToken, iFrameElementSelector, [cardData], [cardToken]) .then(message => {...});

await pattern const message = await perform3ds(sessionToken, iFrameElementSelector, [cardData], [cardToken]);

Parameters

sessionToken Token obtained from the Orchestra service (see testing below)

iFrameElementSelector {string} Selector of element in which a challenge iFrame is to be created

cardData {Object} The card details to be authenticated in the following format:

{
    cardType: "", // 'Visa', 'MasterCard', 'AMEX', 'Discover', ...
    cardNumber: "",
    expirationYear: number,
    expirationMonth: number,
    cardHolderName: "",
    customerEmail: string,
    customerPhone: string
};

Note that either customerEmail or customerPhone must be populated.

cardToken {string} A representation of the card object hosted on the server.

message The authentication results object. The results object has a member named 'messageType' and optional members, based on the MessageType.

result structure { messageType: "", ... other members }

Authenticated message { messageType: "Authenticated", threeDs: { authenticationValue: "", eci: "", xid: "", version: "", sli: "" } }

Rejected message { messageType: "Rejected", reason: "" }

CardNotEnrolled message { messageType: "CardNotEnrolled" }

TechnicalProblem message { messageType: "TechnicalProblem", reason: "", reference: "" }

onPresentingGui

This is an optional event that is triggered when the 3ds requires user interaction or after user interaction is completed. Sample usage: var tds = new threeDs.Engine(); // Set event handlers to show/hide throbber tds.onPresentingGui = (isOn) => toggleThrobber(!isOn);

Build and Test

In order to use the library, you will need to have an account with Orchestra. Use https://www.bluetime.io

You may use the index.html as an example for using the library.

/paytools-3ds/

    Package Sidebar

    Install

    npm i paytools-3ds

    Weekly Downloads

    10

    Version

    3.1.0-beta.0

    License

    To be used with the Pci Booking Orchestra service

    Unpacked Size

    32.8 kB

    Total Files

    4

    Last publish

    Collaborators

    • itpcib
    • yehuda.pcibooking
    • eyalnevo