paya

Node module for the Paya payment API.

Usage no npm install needed!

<script type="module">
  import paya from 'https://cdn.skypack.dev/paya';
</script>

README

Paya

This project is an open source node module for the Paya REST API.

Installation

npm install -g paya
npm install --save paya

Getting Started

In order to call the Paya API, you will need to be setup with:

  • client id
  • client secret
  • merchant id
  • merchant key
const PayaClient = require('paya');

const client = new PayaClient({
    clientId,
    clientSecret,
    merchantId,
    merchantKey,
});

Methods

ach.postCharges(data)

Paya Documentation

Used to process a charge / Sale transactions in a single request.

const response = await client.ach.postCharges({
    secCode: '',
    amounts: {
        total: 0,
    },
    account: {
        type: '',
        routingNumber: '',
        accountNumber: '',
    },
    billing: {
        name: {
            first: '',
            last: '',
        },
        address: '',
        city: '',
        state: '',
        postalCode: '',
    },
}));

ach.getCharges(query)

Paya Documentation

Used to query charges by various criteria including amount, date, order number, type, etc. Results include both summarized information and itemized detail.

const response = await client.ach.getCharges({
    startDate: '',
    endDate: '',
    pageSize: 0,
    pageNumber: 0,
    sortDirection: '',
    sortField: '',
    name: '',
    accountNumber: '',
    source: '',
    oderNumber: '',
    reference: '',
    batchReference: '',
    totalAmount: 0,
}));

ach.postTokens(data)

Paya Documentation

Used to store an account and retrieve a vault token. A vault token allows you to process a charge or credit without knowing the Routing number and Account number.

const response = await client.ach.postTokens({
    account: {
        type: '',
        routingNumber: '',
        accountNumber: '',
    });
});

ach.putToken(tokenId, data)

Paya Documentation

Used to update the account data associated with a vault token.

const response = await client.ach.putToken(tokenId, {
    account: {
        type: '',
        routingNumber: '',
        accountNumber: '',
    });
});

ach.deleteToken(tokenId)

Paya Documentation

Used to delete a vault token.

const response = await client.ach.deleteToken(tokenId);

Contribution Guidelines

We recommend using nvm to manage node versions. This project was created using 12.13.0.

Fork the respository and install all the dependencies:

npm install

Run the npm setup script in the project root directory:

npm run setup

Make sure to run the unit tests and linting before committing. Obviously, add to the tests as you make changes:

npm run test

For watch:

npm run test:watch

You can also run the scenario tests against the live API:

npm run test-scenario