npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

lemonway

v1.4.0

Published

Lemonway non-official SDK

Downloads

284

Readme

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