lemonway v1.4.0
Lemonway SDK
Usage
Create a new wallet and credit it by card
var Lemonway = require('lemonway');
var lemonway = new Lemonway(login, pass, JSONEndpoint);
lemonway.Wallet.create(ip, {
id: id,
email: client.mail,
firstName: client.firstName,
lastName: client.lastName,
birthdate: client.birthdate
}).then(function (wallet) {
return wallet.moneyIn(ip, {
amount: amount,
cardNumber: client.cardNumber,
cardCrypto: client.cardCrypto,
cardDate: client.cardDate,
autoCommission: true
});
}).then(function (transaction) {
...
});Get a wallet and credit it by card using 3D Secure
var Lemonway = require('lemonway');
var lemonway = new Lemonway(login, pass, JSONEndpoint);
lemonway.Wallet.get(req, walletId)
.then(function (wallet) {
return wallet.moneyIn3DInit(req, {
amount: amount,
cardNumber: client.cardNumber,
cardCrypto: client.cardCrypto,
cardDate: client.cardDate,
autoCommission: true,
returnUrl: 'https://your-service/your-return-path'
});
}).spread(function (acs, transaction) {
// redirect the client to acs.actionUrl
});List input transactions
var Lemonway = require('lemonway');
var lemonway = new Lemonway(login, pass, JSONEndpoint);
lemonway.Transaction.list(req)
.then(function (transactions) {
...
});Upload a KYC File
var Lemonway = require('lemonway');
var lemonway = new Lemonway(login, pass, JSONEndpoint, WebkitURL);
lemonway.Wallet.get(req, walletId)
.then(function (wallet) {
return wallet.uploadFile(req, {
fileName: 'RIB.png',
type: 'RIB',
filePath: './test/wallet/RIB.png'
});
});API
Lemonway(login, pass, JSONEndpoint, webKitUrl) -> lemonway
Create a new lemonway instance
| arg | type | required | description |
|---|---|---|---|
| login | string | true | your lemonway login |
| pass | string | true | your lemonway password |
| JSONEndpoint | string | true | your lemonway JSON endpoint |
| webKitUrl | string | true | your lemonway webkit Url |
lemonway.Wallet.create(ip, opts) -> Promise<wallet>
Create a new Wallet and return a promise that resolve to the new wallet
| arg | type | required | description |
|---|---|---|---|
| opts | object | true | |
| opts.id | string | true | external id (must be unique) |
| opts.email | string | true | client email address (must be unique) |
| opts.firstName | string | true | client first name |
| opts.lastName | string | true | client last name |
| opts.title | string | false | client title (can be M, F, J or U) |
| opts.street | string | false | |
| opts.postCode | string | false | |
| opts.city | string | false | client city of residence |
| opts.country | string | false | client country of residence |
| opts.phoneNumber | string | false | |
| opts.mobileNumber | string | false | |
| opts.birthdate | string | false | format DD/MM/YYYY |
| opts.isCompany | bool | false | |
| opts.companyName | string | false | |
| opts.companyWebsite | string | false | |
| opts.companyDescription | string | false | |
| opts.companyIdentificationNumber | string | false | |
| opts.isDebtor | string | false | |
| opts.nationality | string | false | |
| opts.birthCity | string | false | |
| opts.birthCountry | string | false | |
| opts.payerOrBeneficiary | bool | false | |
| opts.isOneTimeCustomer | bool | false |
lemonway.Wallet.update(ip, wallet, opts) -> Promise<wallet>
Update a wallet and return a promise to the updated wallet
| arg | type | required | description |
|---|---|---|---|
| wallet | Wallet or string | true | Can be a wallet instance or just a wallet id |
| opts | object | true | |
| opts.email | string | true | client email address |
| opts.firstName | string | true | client first name |
| opts.lastName | string | true | client last name |
| opts.title | string | false | client title (can be M, F, J or U) |
| opts.street | string | false | |
| opts.postCode | string | false | |
| opts.city | string | false | client city of residence |
| opts.country | string | false | client country of residence |
| opts.phoneNumber | string | false | |
| opts.mobileNumber | string | false | |
| opts.birthdate | string | false | format DD/MM/YYYY |
| opts.isCompany | bool | false | |
| opts.companyName | string | false | |
| opts.companyWebsite | string | false | |
| opts.companyDescription | string | false | |
| opts.companyIdentificationNumber | string | false | |
| opts.isDebtor | string | false | |
| opts.nationality | string | false | |
| opts.birthCity | string | false | |
| opts.birthCountry | string | false |
lemonway.Wallet.get(ip, id) -> Promise<{ wallet, documents: [], ibans: [], sddMandates: [], creditCards: [] }>
Get a wallet and its attached data by id
| arg | type | required | description |
|---|---|---|---|
| id | string | true | wallet id |
lemonway.Wallet.list(ip, opts) -> Promise<[wallet]>
List wallet where amount changed after 'from'
| arg | type | required | description |
|---|---|---|---|
| opts.from | date | false | default to 0 |
lemonway.Wallet.uploadFile(ip, wallet, opts) -> Promise<document>
Upload a KYC file to Lemonway
| arg | type | required | description |
|---|---|---|---|
| wallet | id or wallet | true | a wallet or a wallet id |
| opts.fileName | string | true | |
| opts.type | string | true | the file type, can be ID from identity documents, PROOF_OF_ADDRESS, RIB or KBIS |
| opts.file | string or buffer | true | a string of a base64 file content or a node buffer, optional if filePath is set |
| opts.filePath | string | true | the path to the file to upload, optional if file is set |
lemonway.Wallet.listKyc(ip, opts) -> Promise<[{wallet, documents: [document], ibans: [iban], sddMandates: [sddMandate]}]>
List kyc
| arg | type | required | description |
|---|---|---|---|
| ip | string | true | origin ip |
| opts.from | date | false | date to list from, default to 0 |
lemonway.Wallet.getWalletTransHistory(ip, wallet, opts) -> Promise<[transaction]>
List the wallet transaction history
| arg | type | required | description |
|---|---|---|---|
| opts.from | date | false | date to list from, default to 0 |
| opts.to | date | false | date to list until, default to now |
lemonway.Wallet.moneyIn(ip, wallet, opts) -> Promise<transaction>
Credit a wallet via credit card WITHOUT 3D secure
| arg | type | required | description |
|---|---|---|---|
| wallet | id or wallet | true | a wallet or a wallet id |
| opts.cardNumber | string | true | |
| opts.cardCrypto | string | true | |
| opts.cardExpiration | string | true | |
| opts.amount | float | true | The amount to be credited |
| opts.commission | float | false | The commission amount, default to 0 |
| opts.autoCommission | bool | true | |
| opts.isPreAuth | bool | false | |
| opts.delayedDays | int | false | |
| opts.token | string | false | an optional id token |
lemonway.Wallet.moneyIn3DInit(ip, wallet, opts) -> Promise<{acs, transaction}>
Credit a wallet via credit card with 3D secure
| arg | type | required | description |
|---|---|---|---|
| wallet | id or wallet | true | a wallet or a wallet id |
| opts.cardNumber | string | true | |
| opts.cardCrypto | string | true | |
| opts.cardExpiration | string | true | |
| opts.amount | float | true | The amount to be credited |
| opts.commission | float | false | The commission amount, default to 0 |
| opts.autoCommission | bool | true | |
| opts.token | string | false | an optional id token |
| opts.returnUrl | string | true | return URL after the Atos 3D secure process |
lemonway.Transaction.moneyIn3DConfirm(ip, transaction, opts) -> Promise<{acs, transaction}>
Confirm a 3D secure payment process
| arg | type | required | description |
|---|---|---|---|
| transaction | id or transaction | true | a transaction or a transaction id |
| opts.isPreAuth | bool | false | |
| opts.delayedDays | int | false |
lemonway.Transaction.moneyIn3DAuthenticate(ip, transaction) -> Promise<moneyIn>
Confirm that a transaction was done with 3D secure enabled
| arg | type | required | description |
|---|---|---|---|
| wallet | id or wallet | true | a wallet or a wallet id |
| opts.isPreAuth | bool | false | |
| opts.delayedDays | int | false |
lemonway.Wallet.registerCard(ip, wallet, opts) -> Promise<card>
Attach a card to a wallet
| arg | type | required | description |
|---|---|---|---|
| wallet | id or wallet | true | a wallet or a wallet id |
| opts.cardNumber | string | true | |
| opts.cardCrypto | string | true | |
| opts.cardExpiration | string | true |
lemonway.Wallet.unregisterCard(ip, wallet, card) -> Promise<card>
Detach a card from wallet
| arg | type | required | description |
|---|---|---|---|
| wallet | id or wallet | true | a wallet or a wallet id |
| card | id or card | true | a card or a card id |
lemonway.Wallet.moneyInWithCardId(ip, wallet, card, opts) -> Promise<transaction>
Credit a wallet via a registered card
| arg | type | required | description |
|---|---|---|---|
| wallet | id or wallet | true | a wallet or a wallet id |
| card | id or card | true | a card or a card id |
| opts.amount | float | true | amount to credit |
| opts.commission | float | false | |
| opts.message | float | false | |
| opts.autoCommission | bool | true | |
| opts.isPreAuth | bool | true | |
| opts.delayedDays | int | false | |
| opts.token | string | false |
lemonway.Transaction.moneyInValidate(ip, transaction) -> Promise<transaction>
Validate a pre-auth transaction
| arg | type | required | description |
|---|---|---|---|
| transaction | id or transaction | true | a transaction or a transaction id |
lemonway.Wallet.registerSDDMandate(ip, wallet, opts) -> Promise<sddMandate>
Register a debit mandate
| arg | type | required | description |
|---|---|---|---|
| wallet | id or wallet | true | a wallet or a wallet id |
| opts.holder | string | true | the bank account holder |
| opts.bic | string | true | BIC code |
| opts.iban | string | true | |
| opts.isRecurring | bool | true | |
| opts.street | string | false | mandatory to sign a mandate |
| opts.postCode | string | false | mandatory to sign a mandate |
| opts.city | string | false | mandatory to sign a mandate |
| opts.country | string | false | mandatory to sign a mandate |
| opts.mandateLanguage | string | false | mandate language, can be 'fr', 'es' or 'de', default to 'fr' |
lemonway.Wallet.unregisterSDDMandate(ip, wallet, mandate) -> Promise<sddMandate>
Unregister a mandate
| arg | type | required | description |
|---|---|---|---|
| wallet | id or wallet | true | a wallet or a wallet id |
| mandate | id or mandate | true | a mandate or a mandate id |
lemonway.Wallet.signDocumentInit(ip, wallet, mandate, opts) -> Promise<{token, redirectUrl}>
Init a document signature, return a redirectUrl to which you should redirect you client
| arg | type | required | description |
|---|---|---|---|
| wallet | id or wallet | true | a wallet or a wallet id |
| mandate | id or mandate | true | a mandate or a mandate id |
| mobileNumber | string | true | the client mobile number, is mandatory since the client will receive a confirmation code via SMS |
| returnUrl | string | true | the client will be redirected to this URL in case of success |
| errorUrl | string | true | the client will be redirected to this URL in case of failure |
lemonway.Wallet.moneyInSddInit(ip, wallet, mandate, opts) -> Promise<transaction>
Credit a wallet via a previously signed sdd mandate
| arg | type | required | description |
|---|---|---|---|
| wallet | id or wallet | true | a wallet or a wallet id |
| mandate | id or mandate | true | a mandate or a mandate id |
| amount | float | true | |
| commission | float | false | |
| autoCommission | bool | true | |
| collectionDate | date | false | default to now |
lemonway.Wallet.moneyInChequeInit(ip, wallet, opts) -> Promise<transaction>
Pre-register a cheque, you still have to send the document to Lemonway
| arg | type | required | description |
|---|---|---|---|
| wallet | id or wallet | true | a wallet or a wallet id |
| amount | float | true | |
| commission | float | false | |
| autoCommission | bool | true |
lemonway.Wallet.registerIBAN(ip, wallet, opts) -> Promise<iban>
Attach an iban to a wallet
| arg | type | required | description |
|---|---|---|---|
| wallet | id or wallet | true | a wallet or a wallet id |
| holder | string | true | iban holder |
| bic | string | false | not mandatory if its a french iban |
| iban | string | true | |
| dom1 | string | false | |
| dom2 | string | false | |
| comment | string | false |
lemonway.Wallet.moneyOut(ip, wallet, iban, opts) -> Promise<transaction>
Attach an iban to a wallet
| arg | type | required | description |
|---|---|---|---|
| wallet | id or wallet | true | a wallet or a wallet id |
| iban | id or wallet | true | an iban or an iban id |
| amount | float | true | |
| commission | float | false | |
| autoCommission | bool | true | |
| message | string | false |
lemonway.Wallet.sendPayment(ip, fromWallet, toWallet, opts) -> Promise<transaction>
P2P payment, send a payment from a wallet to another wallet
| arg | type | required | description |
|---|---|---|---|
| fromWallet | id or wallet | true | a wallet or a wallet id |
| toWallet | id or wallet | true | a wallet or a wallet id |
| amount | float | true | |
| message | string | false | |
| scheduleDate | date | false | |
| privateData | string | false | additional data |
lemonway.Transaction.get(ip, id, opts) -> Promise<transaction>
Get a transaction by id
| arg | type | required | description |
|---|---|---|---|
| id | string | true | payment id |
| opts | object | true | |
| opts.walletIp | string | true | Client ip |
| opts.walletUa | string | false | Client user agent |
lemonway.Transaction.list(ip, opts) -> Promise<[transaction]>
lemonway.Transaction.list(ip, opts) -> Promise<[transaction]>
List input transaction
| arg | type | required | description |
|---|---|---|---|
| opts | object | false | |
| opts.before | date | false | |
| opts.after | date | false |
lemonway.MoneyIn.get(ip, id, opts) -> Promise<moneyIn>
lemonway.MoneyIn.get(ip, id, opts) -> Promise<moneyIn>
Get a money in
| arg | type | required | description |
|---|---|---|---|
| id | string | true | wallet id |
| opts | object | true | |
| opts.walletIp | string | true | Client ip |
| opts.walletUa | string | false | Client user agent |
lemonway.MoneyOut.get(ip, id, opts) -> Promise<moneyOut>
lemonway.MoneyOut.get(ip, id, opts) -> Promise<moneyOut>
Get a money out
| arg | type | required | description |
|---|---|---|---|
| id | string | true | wallet id |
| opts | object | true | |
| opts.walletIp | string | true | Client ip |
| opts.walletUa | string | false | Client user agent |
lemonway.Wallet.list(ip, opts) -> Promise<[wallet, ...]>
lemonway.Wallet.list(ip, opts) -> Promise<[wallet, ...]>
List wallets
| arg | type | required | description |
|---|---|---|---|
| opts | object | true | |
| opts.walletIp | string | true | Client ip |
| opts.walletUa | string | false | Client user agent |
lemonway.Wallet.registerCard(ip, wallet, opts) -> Promise<card>
lemonway.Wallet.registerCard(ip, wallet, opts) -> Promise<card>
Register and link a card to a wallet
| arg | type | required | description |
|---|---|---|---|
| wallet | Wallet or string | true | Can be a wallet instance or just a wallet id |
| opts | object | true | |
| opts.walletIp | string | true | Client ip |
| opts.walletUa | string | false | Client user agent |
| opts.cardNumber | string | true | |
| opts.cardCode | string | true | |
| opts.cardDate | string | true |
lemonway.Wallet.unregisterCard(ip, wallet, card, opts) -> Promise<card>
lemonway.Wallet.unregisterCard(ip, wallet, card, opts) -> Promise<card>
Unregister and link a card to a wallet
| arg | type | required | description |
|---|---|---|---|
| wallet | Wallet or string | true | Can be a wallet instance or just a wallet id |
| card | Card or string | true | Can be a card instance or just a card id |
| opts | object | true | |
| opts.walletIp | string | true | Client ip |
| opts.walletUa | string | false | Client user agent |
lemonway.getWizypayAds(ip, opts) -> Promise<[[wizypayOffer], [wizypayAd]]>
lemonway.getWizypayAds(ip, opts) -> Promise<[[wizypayOffer], [wizypayAd]]>
Get wizypay ads
| arg | type | required | description |
|---|---|---|---|
| opts | object | true | |
| opts.walletIp | string | true | Client ip |
| opts.walletUa | string | false | Client user agent |
Models
Wallet
- id ->
string - lemonWayId ->
string - balance ->
float - name ->
string - email ->
string - status ->
string - blocked ->
string - method ->
string - documents ->
[Document] - ibans ->
[IBAN] - sddMandates ->
[SDDMandate] - update -> (
opts) ->Promise<Wallet> - updateStatus -> (
opts) ->Promise<Wallet> - moneyIn -> (
opts) ->Promise<Transaction> - moneyIn3DInit -> (
opts) ->Promise<Transaction> - registerCard -> (
opts) ->Promise<Card> - unregisterCard -> (
card) ->Promise<Card> - moneyInWithCardId -> (
card,opts) ->Promise<Transaction> - registerIBAN -> (
opts) ->Promise<IBAN> - registerSDDMandate -> (
opts) ->Promise<mandate> - moneyInSDDInit -> (
mandate,opts) ->Promise<transaction> - moneyInChequeInit -> (
opts) ->Promise<transaction> - moneyOut -> (
iban,opts) ->Promise<transaction> - sendPayment -> (
toWallet,opts) ->Promise<transaction> - createVCC -> (
opts) ->Promise<{transaction, vcc}> - uploadFile -> (
opts) ->Promise<Document> - listTransactions -> (
opts) ->Promise<[transaction]>
ACS
- actionUrl ->
string|undefined - actionMethod ->
string|undefined - pareqFieldName ->
string|undefined - pareqFieldValue ->
string|undefined - termurlFieldName ->
string|undefined - mdFieldName ->
string|undefined - mdFieldValue ->
string|undefined - mpiResult ->
string|undefined
Card
- id ->
string - is3DSecure ->
boolean|undefined - country ->
string|undefined - authorizationNumber ->
string|undefined - cardNumber ->
string|undefined - expirationDate ->
string|undefined
Document
- id ->
string - status ->
string|undefined - type ->
string|undefined - validityDate ->
string|undefined
IBAN
- id ->
string - status ->
string|undefined - iban ->
string - swift ->
string - holder ->
string
MoneyIn
- id ->
string - O3DCode ->
string|undefined
SDDMandate
- id ->
string - status ->
string - iban ->
string - swift ->
string
Transaction
- id ->
string - date ->
Date|undefined - debitedWallet ->
string|undefined - creditedWallet ->
string|undefined - amountDebited ->
number|undefined - amountCredited ->
number|undefined - fee ->
number|undefined - amazonGiftCode ->
string|undefined - message ->
string|undefined - status ->
string|undefined - IBANUsed ->
string|undefined - lemonwayMessage ->
string|undefined - bankReference ->
string|undefined - virtualCreditCard ->
VirtualCreditCard|undefined - moneyIn ->
MoneyIn|undefined - card ->
Card|undefined - extra ->
object|undefined - extra.is3DSecure ->
boolean|undefined - extra.country ->
string|undefined - extra.authorizationNumber ->
string|undefined - iban ->
IBAN|undefined - getPaymentDetails -> (
userInfo) ->Promise<Transaction>
VirtualCreditCard
- id ->
string|undefined - number ->
string|undefined - expirationDate ->
string|undefined - cvx ->
string|undefined
1 year ago
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago
4 years ago
5 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
7 years ago
8 years ago
8 years ago
9 years ago
9 years ago
9 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago