Rovas payment processor

The rovas payment processor functionality 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 to the premium services your application offers.

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