0.0.4 • Published 6 months ago

inkress-sdk v0.0.4

Weekly downloads
-
License
MIT
Repository
github
Last release
6 months ago

npm downloads

InkressAPI Wrapper

A simple TypeScript library to interact with the Inkress API.

Installation

Using npm:

npm install --save inkress-sdk

Using yarn:

yarn add inkress-sdk

Usage Here's a simple example:

//Using require
const InkressAPI = require('inkress-sdk').default;
// Using import
import InkressAPI, { Order } from 'inkress-sdk'; 

const api = new InkressAPI('your_token_here'); // Replace 'your_token_here' with your actual token

api.setClient('your_client_key_here'); // Replace 'your_client_key_here' with your actual client_key

const order: Order = {
    total: 1.20,
    title: 'Package of webbies',
    kind: 'online',
    customer: {
        email: 'firsto_lasto@fleeksite.com',
        first_name: 'Firsto',
        last_name: 'Lasto',
        phone: '+13968419234',
    },
    reference_id: 'x002',
    currency_code: 'USD'
};

api.createOrder(order)
    .then(response => console.log(response))
    .catch(error => console.error(error));

API

setToken(token: string)

Sets the authorization token to be used in API requests.

setClient(clientKey: string)

Sets the client key to be used in API requests.

createOrder(order: Order): Promise<ApiResponse | null>

Creates an order with the given details. Returns a Promise that resolves to an ApiResponse object if successful, or null if an error occurs.

verifyJWT(token: string, secret: string): WebhookPayload | null

Verifies a JWT from the Webhook using your secret.

const jwt = 'jwt_received_from_webhook';
const decoded = api.verifyJWT(jwt, 'your_secret_key_here');

Types

Order

Represents an order. Has the following properties:

interface Order {
    total: number
    title: string
    kind: string
    customer: Customer;
    reference_id: string
    currency_code: string
}

ApiResponse

Represents the response from the Inkress API. Has the following properties:

interface ApiResponse {
    state: string
    result: {
        customer: Customer
        order_details: OrderDetails
        payment_urls: PaymentURLs
    }
}

WebhookPayload

Represents the encoded JWT data from the Webhook

interface WebhookPayload {
  provider: string;
  reference: string;
  currency: string;
  amount: number;
  client: Customer;
  status: 'pending | error | paid | partial | confirmed | cancelled | prepared | shipped | delivered | completed | returned | refunded';
}

Customer

Represents the customer encoded in the Webhook

export interface Customer {
  name: string;
  email: string;
}

Contributing

Contributions are welcome. Please open an issue or submit a pull request.

License

MIT

This README provides an overview of the library, explains how to install it, provides an example usage, documents the API and the types used, and invites contributions. You can add, remove, or modify sections based on the specific needs of your project.
0.0.3

6 months ago

0.0.21

6 months ago

0.0.4

6 months ago

0.0.2

10 months ago

0.0.1

10 months ago