This is a wrapper around Mollie's API. The library is written in TypeScript and has typings available.
This library is promise based and does not try to do some overly cumbersome parsing on the data returned from the Mollie API.
import { Mollie } from 'mollie-api';
const mollie = new Mollie({
apiKey: 'your live or test API key here',
});
The first parameter is a library specific config. The options can be found in the MollieConfig interface.
/**
* Your live or test API key.
*/
apiKey: string;
/**
* @default https://api.mollie.com/
*/
endpoint?: string;
/**
* @default v1
*/
version?: string;
mollie.payments.create({
amount: 100,
description: 'As a token of appreciation for the development of this library',
redirectUrl: 'https://example.com/payment',
webhookUrl: 'https://api.example.com/mollie/payment',
})
.then(d => console.log(d.data))
.catch(e => console.error(e.response.data));
mollie.payments.get('tr_id')
.then(d => console.log(d.data))
.catch(e => console.error(e.response.data));
mollie.customers.create({
name: 'John Doe',
email: 'email@example.com',
}).then(d => console.log(d.data)).catch(console.error);
mollie.customers.delete('theID')
.then(d => console.log('success'))
.catch(console.error);
mollie.customers.get('theID')
.then(d => console.log(d.data))
.catch(console.error);
mollie.customers.list()
.then(d => console.log(d.data))
.catch(console.error);
mollie.customers.update('theID', {
name: 'John Doe',
email: 'email@example.com',
}).then(d => console.log(d.data)).catch(console.error);
mollie.mandates.get('customerId', 'subscriptionId')
.then(c => console.log(c.data))
.catch(err => console.log(err.response.data));
mollie.mandates.list('customerId')
.then(c => console.log(c.data))
.catch(err => console.log(err.response.data));
mollie.subscriptions.create('customerId', {
amount: 200,
description: 'A test payment',
interval: '1 month',
times: 3,
}).then(c => console.log(c.data))
.catch(err => console.log(err.response.data));
mollie.subscriptions.get('customerId', 'subscriptionId')
.then(c => console.log(c.data))
.catch(err => console.log(err.response.data));
mollie.subscriptions.list('customerId')
.then(c => console.log(c.data))
.catch(err => console.log(err.response.data));
mollie.subscriptions.cancel('customerId', 'subscriptionId')
.then(c => console.log(c.data))
.catch(err => console.log(err.response.data));