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

ng6-atom-paynetz

v1.1.3

Published

This library briefly describes the mode/ manner of technical integration between Atom Payment Gateway and Merchant Website in respect of powering online transactions by using Angular 6

Downloads

24

Readme

ng6-atom-paynetz

This documentaion briefly describes the mode/ manner of technical integration between Atom Payment Gateway and Merchant Website in respect of powering online transactions by using Angular 6. This library is only tested :

  • Angular CLI: 6.0.8
  • Node: 10.16.0
  • OS: win32 x64
  • Angular: 6.1.10

Process

  • Customer logs-in at the merchant website and selects the product / service to purchase. Based on the purchase amount, appropriate transaction amount would be computed at the merchant website.

  • Customer then decides to make payment at merchantwebsite.

  • Merchant website will log the order by generating a unique Order Number; and establish a connection with the Atom Electronic Payment Interface

  • The customer lands on the Atom Payment Page where the customer is displayed with various ‘payment options’ that can be used. These would include–Credit Card; Debit Card; Online Net Banking.

  • Customer chooses the payment option at Atom Payment Page, and is further redirected to the page of that respective bank. Customer then enters the relevant authentication details [i.e. User ID/ Card Number/ Password] at the bank’s website; and then is requested to authorizethe payment amount.

  • Customer’s account is debited and the Customer is then redirected back to the designated Return URL at Merchant website where the status of the transactions is displayed to the customer.

  • The Atom Electronic Payment Interface will provide the return response to the designated Merchant return URL. Merchant can use this response to update its system and display the transaction status to the customer.

  • The Atom Electronic Payment Interface also generates a unique Transaction ID against each order number that isreceived.

Create an Angular 6 App

Run ng new myAtomApp

Library Installation

Install npm install js-sha512 and run npm i ng6-atom-paynetz to install this library.

Component Configuration

In src/app/app.component.ts

Import : import { ProcessPaymentComponent } from 'ng6-atom-paynetz';

Set the values in your Request Componen Class as below :


  private response = '';
  private amount: any;
  private mmp_txn: any;
  private mer_txn: any;
  private prod: any;
  private date: any;
  private bank_txn: any;
  private f_code: any;
  private clientcode: any;
  private bank_name: any;
  private merchant_id: any;
  private discriminator: any;
  private desc: any;
  private udf9: any;
  private signature: any;


  constructor() {

    const _atom = new ProcessPaymentComponent();
    _atom.setURL('https://paynetzuat.atomtech.in/paynetz/epi/fts');
    _atom.setLoginid('197');
    _atom.setPassword('Test@123');
    _atom.setClientCode('NAVIN');
    _atom.setCurrency('INR');
    _atom.setAmount('50.00');
    _atom.setCustomerAddress('Address');
    _atom.setCustomerEmail('[email protected]');
    _atom.setCustomerMobile('1234567890');
    _atom.setCustomerName('Ankit');
    _atom.setProdId('NSE');
    _atom.setCustAcc('000000');
    _atom.setRequestHaskKey('KEY123657234');
    _atom.setReturnUrl('http://localhost:4200/response');
    _atom.setTxnId('234');
    _atom.setTxnType('NBFundTransfer');
    _atom.setResponseHashKey('KEYRESP123657234');
    _atom.setTxnsCamt('0');
    _atom.payNow().then((v) => {
      const data1 = v;
      if (data1['status']) {
        this.amount = data1['data'].amt;
        this.mmp_txn = data1['data'].mmp_txn;
        this.mer_txn = data1['data'].mer_txn;
        this.prod = data1['data'].prod;
        this.date = data1['data'].date;
        this.bank_txn = data1['data'].bank_txn;
        this.f_code = data1['data'].f_code;
        this.clientcode = data1['data'].clientcode;
        this.bank_name = data1['data'].bank_name;
        this.merchant_id = data1['data'].merchant_id;
        this.discriminator = data1['data'].discriminator;
        this.desc = data1['data'].desc;
        this.udf9 = data1['data'].udf9;
        this.signature = data1['data'].signature;

        const checkResponse = _atom.validateResponse(
          this.mmp_txn,
          this.mer_txn,
          this.f_code,
          this.prod,
          this.discriminator,
          this.amount,
          this.bank_txn,
          this.signature
        );
        console.log(checkResponse);
        if (checkResponse.status) {
          if (this.f_code === 'F') {
            this.response = 'Payment is Failed ';
          } else if (this.f_code === 'C') {
            this.response = 'Payment is cancelled by user ';
          } else if (this.f_code === 'Ok') {
            this.response = 'Payment is sucessfull';
          } else {
            this.response = 'Payment is Failed ';
          }
        } else {
          this.response = 'Payment validatio result is false, response is not proper';
        }
      } else {
        this.response = data1['data'];
      }

    }).catch((e) => {
      console.log(e);
    });


  }

Methods

Method name | Default | Mandatory | Description ------------- | ------------- | --------------------| -----------------| setURL | | yes | Atom provided URL or IP for test : https://paynetzuat.atomtech.in/paynetz/epi/fts setLoginid | | yes | Login ID obtained on registration of Merchant URL's and IP for test : 197 setPassword | | yes | Password obtained on registration of Merchant URL's and IP for test : Test@123 setClientCode | | yes | Atom provide you the client code, for test :Navin setCurrency | | yes | It sets the currency, always INR setAmount | | yes | It sets the amount you want to pay, for test 50.00 setCustomerAddress | | yes | It will set the customers address setCustomerEmail | | yes | It will set the customers email setCustomerMobile | | yes | It will set the customers mobile setCustomerName | | yes | It will set the customers name setProdId | | yes | It will set the product id and you will get the details from atom, for test use NSE setCustAcc | | yes | It will set the customer account and you will get the details from atom if you are a reseller else pass '000000', for test use '000000' setRequestHaskKey | | yes | It will set Request Hash Key, you will get this value from atom for test use KEY123657234 setResponseHaskKey | | yes | It will set Response Hash Key, you will get this value from atom for test use KEYRESP123657234 setReturnUrl | | yes | It will set Return URl, you will the response from atom in this page setTxnId | | yes | It will set the transaction id and it should be unique setTxnType | | yes | It will set the transaction type e.g. CC,DC,NBFundTransfer setTxnsCamt | | yes | It will set the Customer Account No. if you are Broker or Reseller for test use "0" setMdd | | no | Set paymenthod you want to use. NB for Netbanking, CC for Credit Cards etc.. setBankId | | no | Set Bank id for net banking etc.. payNow | | | It is a promise function which will resolve the reponse from the payment gateway. validate | | | This method will validate your response.

Further help

To get more help on this library please visit https://www.atomtech.in