Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »



    Easy and lightweight client for Yandex.Money payment system.


    The library has following important features:

    • Ready for production use (including financial systems)
    • Good tolerance to possible API changes
    • Only necessary package dependencies
    • Can be used alone or with any other libraries

    Additionally yamoney has a set of samples which covers almost all API calls. You can play with API from console as much as you want before real use!


    $ npm install yamoney


    YaMoney = require('yamoney')
    client = new YaMoney.Client(token: obtainSomeToken())
    client.accountInfo((error, info) ->
        unless error?
            console.log('Your account details:')
            console.log('Something went wrong:')


    Class Client

    This class represents client for Yandex.Money.


    • options Object

    Constructor for the class.

    For now options can contain following keys:

    • host String: Host name or IP address for connections to. Defaults to
    • port Number: Port for connections to. Defaults to 443
    • charset String: Charset to be used for requests. Defaults to utf-8
    • token String: Access token provided by Yandex.Money

    If one of host, port or charset is missed then default value will be used. If token is missed then null will be stored in the internal field. You will be able to set real token later by calling setToken.

    .setHeader(name, value)

    • name String
    • value String

    Sets HTTP header with pointed name and value for subsequent requests.


    • name String

    Removes header with pointed name.

    .invokeMethod(name, input, callback)

    • name String
    • input Object | null
    • callback Function | null

    Generic method for accessing any API methods on remote side.

    For now following values are defined for name by Yandex.Money API:

    • revoke
    • account-info
    • operation-details
    • operation-history
    • request-payment
    • process-payment

    However you can pass any string instead of defined above. It can be usefull for future versions of API.


    • token String

    Sets token for subsequent requests. Token can also be passed to constructor in options hash.


    Removes previously stored token.


    • callback Function | null

    Revokes token which currently in use by client.


    • callback Function | null

    Returns information about account current token was obtained for.

    .operationDetails(id, callback)

    • id String
    • callback Function | null

    Returns details of operation identified by id.

    .operationHistory(selector, callback)

    • selector Object
    • callback Function | null

    Returns operations history optionally filtered by selector.

    .requestPayment(options, callback)

    • options Object
    • callback Function | null

    Makes initial request for payment. This method is the first expected for any payment.

    .processPayment(options, callback)

    • options Object
    • callback Function | null

    Finalize payment required by requestPayment. This method is the second expected for any payment.

    Additional information

    For all methods described above you can find more information at


    If you have discovered any bug please feel free to contact with me. I will do all my best to fix it in shortest time.

    Currently code has following problematic pieces:

    • Not completed error discovering logic for server responses

    This means that yamoney expects full compliance of server behaviour with specification.


    npm i yamoney

    Downloadslast 7 days







    last publish


    • avatar