Adyen client
Install the module with: npm install adyen-client
var adyenClient = require('adyen-client')
var aClient = adyenClient({
frontKey: 'YOUR FRONT END KEY', //Only used for the initCCForm
merchantAccount: 'YOUR MERCHANT ACCOUNT'
username: 'YOUR USERNAME',
password: 'YOUR PASSWORD',
development: true
});
aClient
.getRecurringData({
"shopperReference": "SimonHopper1",
"recurring": {
"contract": "RECURRING"
}
}).then(function (response) {
console.log(util.inspect(response, false, 20, true));
})
.fail(function (error) {
console.log(util.inspect(error, false, 20, true));
});
First of all you need to initialize the client passing your merchant account, username, password and front end key (only if you need to do the frontend initialization).
var adyenClient = require('adyen-client')
/*
opts = {
frontKey: 'YOUR FRONT END KEY', //Only used for the initCCForm
merchantAccount: 'YOUR MERCHANT ACCOUNT'
username: 'YOUR USERNAME',
password: 'YOUR PASSWORD'
development: Boolean //TRUE or FALSE indicates that your are on development, for production is not neccesary
}
*/
var aClient = adyenClient(opts);
Then you have the client initialized, now you have access to this methods, every method return a promise, and you need to follow the adyen documentation to know how pass the data:
-
initCCForm: Promise that returns the structure you need for the CSE encryption in frontend.
aClient.initCCForm() .then(function(data){ console.log(data) /* { "key": '10008|927D950...', // your Front-end key "generationTime": '2016-01-01T00:00:00.000Z' // ISO date string } */ })
-
authorizePayment
aClient.authorizePayment({ "shopperEmail": "s.hopper@test.com", "shopperReference": "SimonHopper1", "recurring": { "contract": "RECURRING" }, "reference":"authorize-simonhopper1", "amount": { "value": "0", "currency": "EUR" }, "additionalData": { "card.encrypted.json": "adyenjs_0_1_15$......" } }) .then(function(data){ console.log(data) })
-
authorize3dPayment
aClient.authorize3dPayment({ "md": 'nOw6sWy2Kbu+bmg......' "paResponse":"eNqtmFmTo7iygN/5FRU9......", "browserInfo": { "userAgent": "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.75 Safari/537.36", "acceptHeader": "application/json, text/plain, */*" } }) .then(function(data){ console.log(data) })
-
getRecurringData
aClient.getRecurringData({ 'shopperReference': 'SimonHopper1', 'recurring': { "contract": "RECURRING" } }) .then(function(data){ console.log(data) })
-
disableRecurring
aClient.disableRecurring({ "shopperReference": 'SimonHopper1', "recurringDetailReference": 'CC TOKENIZED' //if you need to remove a specific one }) .then(function(data){ console.log(data) })
-
capture
aClient.capture({ "modificationAmount": { "currency": 'EUR', "value": '0' }, "originalReference": 'YOUR AUTH REFERENCE', "reference": "capture-" + data.transactionId }) .then(function(data){ console.log(data) })
-
refund
aClient.refund( { "modificationAmount": { "currency": 'EUR', "value": '0' }, "originalReference": 'YOUR REFERENCE' }) .then(function(data){ console.log(data) })
-
cancelOrRefund:
aClient.cancelOrRefund({ "originalReference": 'YOUR REFERENCE', }) .then(function(data){ console.log(data) })
The initCCForm returns the data example and the others returns this:
{
success: Boolean, //TRUE or FALSE
data: {},//The Response from Adyen
lastResponse: {}, //Axios RAW response
lastRequest: {} //Axios RAW request
}
Run npm install;npm run dev
to watch the proyect, and compile the code automatically.
Run npm build
to build the module.
- Added
authorize3dPayment
for handling 3D Secure authorization
- Update dependencies
- Added success field in response
- Fix issues
- Internal refractor (ES6)
- Docs Changed
- Responses now returns the RAW request, and response
- Internal Refactor
- Added more methods
- Better docs
- Fix dependencies
- Firsts step.
- Added basic methods
Licensed under the MIT license. 2015