@coherentx/coherent
TypeScript icon, indicating that this package has built-in type declarations

0.0.22 • Public • Published

Coherent API

Installation

Install the API using the following command

npm install coherent

Add --save if building a deployable.

Usage

Import and initialise the connection

import {Coherent} from "coherent";

const coherent = new Coherent({
    environment: "TEST", // or "PRODUCTION"
    token: process.env.COHERENT_TOKEN
})

Payments (via Transactions)

Create a payment link, notifying an email or phone number optionally

const transaction = await coherent.transactions.create({
    amount: 1000, // The amount in the smallest regular unit, e.g. pennies (£10 = 1000)
    name: `John Smith`, // The name of the patient,
    note: "A test", //optional, what this transaction involves
    email: "support@coherenthealthcare.com", //optional
    emailNotify: true, //optional, `email` receives payment request notification
    phone: "+44...", //optional
    smsNotify: true //optional, `phone` receives SMS payment request notification
})

console.log(transaction.uuid)
console.log(transaction.status)
console.log(transaction.paymentUrl)

Get a payment

const transaction = await coherent.transactions.get(
    transaction.uuid
)

Refunds

await coherent.transactions.refund({
    transactionUuid: transaction.uuid,
    amount: 100,
    reason: 'Anything'
})

Terminals

List terminals

await coherent.terminals.list()

Name the terminal

await coherent.terminals.rename({
    terminalId: '<TYPE>-123455678',
    name: 'The Trusty Terminal'
})

Send for payment

await coherent.terminals.setTransaction({
    terminalId: '<TYPE>-123455678',
    transactionUuid: 'abcd-1234'
})

Clear the terminal

await coherent.terminals.clearTransaction({
    terminalId: '<TYPE>-123455678'
})

Transaction Status Webhooks

If the merchant has webhooks turned on, they will receive notifications at the configured URL every two minutes until the request receives a 2xx response.

POST https://yourserver.com/webhook

{
    type: "transaction",
    uuid: "abcd-1234"
}

Use the uuid in a transactions.get(uuid) request to receive an up-to-date transaction object.

Package Sidebar

Install

npm i @coherentx/coherent

Weekly Downloads

16

Version

0.0.22

License

UNLICENSED

Unpacked Size

21.9 kB

Total Files

20

Last publish

Collaborators

  • bharatcoherent