Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions lib/httpClient.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,12 @@ class HttpClient{
this.parent = parentObj;
this.http_client = axios.create();
}
request(httpMethod,serverKey,requestUrl,firstParam={},secondParam={}){
request(httpMethod,serverKey,requestUrl,firstParam={},secondParam={},extraHeaders={}){
let headers = {
'content-type': 'application/json',
'accept': 'application/json',
'user-agent': 'midtransclient-nodejs/1.4.3'
'user-agent': 'midtransclient-nodejs/1.4.3',
...extraHeaders
};

let reqBodyPayload = {};
Expand Down
21 changes: 13 additions & 8 deletions lib/snap.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,33 +16,38 @@ class Snap{
/**
* Do `/transactions` API request to Snap API
* @param {Object} parameter - object of Core API JSON body as parameter, will be converted to JSON (more params detail refer to: https://snap-docs.midtrans.com)
* @param {Object} headers - object of http headers to add to request
* @return {Promise} - Promise contains Object from JSON decoded response
*/
createTransaction(parameter={}){
createTransaction(parameter={},headers={}){
let apiUrl = this.apiConfig.getSnapApiBaseUrl()+'/transactions';
let responsePromise = this.httpClient.request(
'post',
this.apiConfig.get().serverKey,
apiUrl,
parameter);
parameter,
undefined,
headers);
return responsePromise;
}
/**
* Wrapper function that call `createTransaction` then:
* Wrapper function that call `createTransaction` and returns token
* @param {Object} headers - object of http headers to add to request
* @return {Promise} - Promise of String token
*/
createTransactionToken(parameter={}){
return this.createTransaction(parameter)
createTransactionToken(parameter={},headers={}){
return this.createTransaction(parameter, headers)
.then(function(res){
return res.token;
})
}
/**
* Wrapper function that call `createTransaction` then:
* Wrapper function that call `createTransaction` then returns redirect_url
* @param {Object} headers - object of http headers to add to request
* @return {Promise} - Promise of String redirect_url
*/
createTransactionRedirectUrl(parameter={}){
return this.createTransaction(parameter)
createTransactionRedirectUrl(parameter={},headers={}){
return this.createTransaction(parameter, headers)
.then(function(res){
return res.redirect_url;
})
Expand Down