trust-my-travel-legacy
Version:
SDK for the Trust My Travel legacy payments API.
75 lines (56 loc) • 2.69 kB
Markdown
[](https://www.typescriptlang.org/)
[](https://www.npmjs.com/package/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);
}
```
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"
```
| 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/).