forked from 13pass/wise-client
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.js
93 lines (90 loc) · 2.28 KB
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
const transferwise = function(config){
const uuidv4 = require('uuid/v4');
const request = require('./lib/request')(config);
try {
this.apiKey = config.apiKey;
this.request = request;
this.cancelTransfer = function(transferId){
return request('PUT', `/transfers/${transferId}/cancel`);
};
this.convertCurrencies = function({
borderlessAccountId,
quoteId,
uuid
}){
if (!uuid) {
uuid = uuidv4();
}
return request('POST', `/borderless-accounts/${borderlessAccountId}/conversions`, {
quoteId
}, {
'X-idempotence-uuid': uuid
});
};
this.createQuote = function(data){
return request('POST', `/quotes`, data);
};
this.createRecipientAccount = function({
currency = 'GBP',
type = 'sort_code',
profile,
ownedByCustomer = false,
accountHolderName,
details
}){
return request('POST', `/accounts`, {
currency,
type,
profile,
ownedByCustomer,
accountHolderName,
details
});
};
this.createTransfer = function({
targetAccount,
quote,
customerTransactionId,
details
}){
if (!customerTransactionId) {
customerTransactionId = uuidv4();
}
return request('POST', `/transfers`, {
targetAccount,
quote,
customerTransactionId,
details
});
};
this.deleteRecipientAccount = function(accountId){
return request('DELETE', `/accounts/${accountId}`);
};
this.fundTransfer = function({
transferId,
type = 'BALANCE'
}){
return request('POST', `/transfers/${transferId}/payments`, {
type
});
};
this.getBorderlessAccounts = function(profileId){
return request('GET', `/borderless-accounts?profileId=${profileId}`);
};
this.getQuote = function(quoteId){
return request('GET', `/quotes/${quoteId}`);
};
this.getProfiles = function(){
return request('GET', `/profiles`);
};
this.getRecipientAccounts = function({
profile,
currency
}){
return request('GET', `/accounts?profile=${profile}¤cy=${currency}`);
};
} catch (err) {
console.error(err);
}
};
module.exports = transferwise;