Integrating with Rovas

Integration options

There are three levels of integration an application can take advantage of, each offering some tradeoff between capabilities and ease of implementation.

The Rovas API integration option is the most powerful, but one that might also require more programming effort than the other two, depending on the implemented functionality.

The Rovas payment processor integration option allows a calling client - a web, desktop, or mobile application - to direct users to Rovas and collect their payment (say, for a subscription) in Chrons, or Euros. This option expects your application to have a database of users, and keep a record of their access status to the services the application offers. An option for applications that do not keep such a database would be to use a version of this service (being currrently considered) which would use the Rovas-resident user database.
Steps to implement:

  1. create an account in Rovas for yourself and make a note of your API key. The API key can be found in the Rovas API tab of your Rovas profile,
  2. create a project in Rovas, for your application,
  3. in the project form, enter the minimum price in Chrons, or in Euros for the service offered by your application. In both cases users will be able to pay with either currency, but setting the price in Euros will dynamically recalculate the price in Chrons using the current exchange rate,
  4. in your application, implement a "payment" hyperlink or a button that will issue a HTTPS call to:

    https://<server>/rewpro?paytype=<paytype>&recipient=<recipient>&callbackurl=<callbackurl>

    where:
    <server> is either:
        - dev.rovas.app - for the development environment, or
        - rovas.app - for the production environment
        
    paytype            has value {project, or user}. In most cases the value will be "project"
    recipient           ID of the Rovas project to be rewarded - the one you created in step #2
    callbackurl       the URL Rovas will call back with response

  5. If an user of your application invokes a call to the above shown URL, Rovas will present a page, allowing them to pay with Chrons, or Euros. From there, the user is lead through a couple of payment pages. Upon completing the payment process, Rovas will call the URL listed in the callbackurl parameter with a parameter outcome added:

    <callbackurl>&outcome=<hash>

    where:
    callbackurl is the URL sent by the requesting app in the callbackurl parameter
    the outcome parameter contains the value: sha512(apiKey + callbackurl)
        where:
        apiKey = Rovas API key of the rewarded project owner (presumably, you)
        callbackurl = the URL sent by the requesting app in the callbackurl parameter

Third option: the easiest way to integrate with Rovas is to just add a hyperlink or a button, of the Rovas project you create for your application. Visitors to the Rovas project page always see a Reward (or Pay) button there, regardless of whether you specify a price in the project creation/edit form or not. In the later case, users will be able to choose an arbitrary amount to pay.