A simple TypeScript library to interact with the Inkress API.
npm install --save inkress-sdk
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));
Sets the authorization token to be used in API requests.
Sets the client key to be used in API requests.
Creates an order with the given details. Returns a Promise that resolves to an ApiResponse object if successful, or null if an error occurs.
Verifies a JWT from the Webhook using your secret.
const jwt = 'jwt_received_from_webhook';
const decoded = api.verifyJWT(jwt, 'your_secret_key_here');
Represents an order. Has the following properties:
interface Order {
total: number
title: string
kind: string
customer: Customer;
reference_id: string
currency_code: string
}
Represents the response from the Inkress API. Has the following properties:
interface ApiResponse {
state: string
result: {
customer: Customer
order_details: OrderDetails
payment_urls: PaymentURLs
}
}
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';
}
Represents the customer encoded in the Webhook
export interface Customer {
name: string;
email: string;
}
Contributions are welcome. Please open an issue or submit a pull request.
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.