UNPKG

trust-my-travel-legacy

Version:

SDK for the Trust My Travel legacy payments API.

75 lines (56 loc) 2.69 kB
# Trust My Travel: Legacy API SDK [![Built with typescript](https://badgen.net/badge/icon/typescript?icon=typescript&label)](https://www.typescriptlang.org/) [![version](https://badgen.net/npm/v/trust-my-travel-legacy)](https://www.npmjs.com/package/trust-my-travel-legacy) ![dependants](https://badgen.net/npm/dependents/trust-my-travel-legacy) ![license](https://badgen.net/npm/license/trust-my-travel-legacy) This is an unofficial node SDK for the Trust My Travel legacy API. All types correspond to the [official docs](http://docs.trustmytravel.com/), with the exception of Booleans which are given as strings for the most part in the API (i.e. `"true"` rather than `TRUE`), but have been typecast to Booleans in this module. Note: The TMT API has timeout issues, where it can take over 10 seconds to respond. We recommend setting a timeout of +20 seconds for any code that uses this. ## Quickstart Core functionality works as follows: ```typescript import TrustMyTravel from 'trust-my-travel-legacy'; async function example() { // Initialise the client const client = new TrustMyTravel({ username: 'username', password: 'password', live: true, }); // Test your connection - useful for unit testing (throws an error if it fails) const testResult = await client.testConnection(); // Take a payment const paymentInput: PaymentParameters = { firstname: 'Donald', //... Full types are fully documented with JS Doc }; const paymentResult = await client.takePayment(paymentInput); // Refund const refundInput: RefundParameters = { booking_id: 123, // ... }; const refundResult = await client.refund(refund); } ``` ## Testing Integration tests are run using pupeteer to get tokens from Spreedly. To run locally you must set the following environmental variables: ```bash export TRUST_MY_TRAVEL_STAGING_USERNAME="your_staging_username" export TRUST_MY_TRAVEL_STAGING_PASSWORD="your_staging_password" ``` ## Checklist | CD Feature | Provided | | ---------- | ------------------------------------------------------------------ | | ✅ | Typescript | | ✅ | Linting (AirBnB + Prettier) | | ✅ | Unit & Integration tests (Jest) | | ❌ | 100% Coverage check (100% not possible given pupeteer limitations) | | ✅ | Github Continuous Deployment | ## Built by Skyhook This module is contributed by the team at [Skyhook](https://www.skyhookadventure.com/).