0.0.19 • Published 11 months ago

@coherentx/coherent v0.0.19

Weekly downloads
-
License
UNLICENSED
Repository
github
Last release
11 months ago

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.

0.0.18

11 months ago

0.0.19

11 months ago

0.0.15

12 months ago

0.0.16

12 months ago

0.0.17

12 months ago

0.0.14

1 year ago

0.0.13

1 year ago

0.0.12

1 year ago

0.0.11

1 year ago

0.0.10

1 year ago

0.0.9

1 year ago

0.0.8

1 year ago

0.0.7

1 year ago

0.0.6

1 year ago

0.0.5

1 year ago

0.0.4

1 year ago

0.0.3

1 year ago

0.0.2

1 year ago

0.0.1

1 year ago