npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

paytools-3ds

v3.1.0-beta.0

Published

3D secure implementation with a single line of code

Downloads

90

Readme

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.