diff --git a/INSTALL.md b/INSTALL.md index f53cebc6..cc363338 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -37,16 +37,26 @@ There are a couple of environment variables you can set to configure OSEM. | OSEM_ERRBIT_HOST | errbit.opensuse.org | The [errbit](https://github.com/errbit/errbit) host to post exceptions to | | OSEM_ERRBIT_APIKEY | *string* | The api key for the errbit host | | OSEM_FACTORY_LINT | *boolean* (true/false) | Setting this to false will disable linting of factories before running spec -| OSEM_GOOGLE_KEY/OSEM_GOOGLE_SECRET | *string* | OMNIAUTH Developer Keys/Secrets for GOOGLE -| OSEM_FACEBOOK_KEY/OSEM_FACEBOOK_SECRET | *string* | OMNIAUTH Developer Keys/Secrets for Facebook -| OSEM_GITHUB_KEY/OSEM_GITHUB_SECRET |*string* | OMNIAUTH Developer Keys/Secrets for GitHub +| OSEM_GOOGLE_KEY | *string* | OMNIAUTH Developer Key for GOOGLE +| OSEM_GOOGLE_SECRET | *string* | OMNIAUTH Developer Secret for GOOGLE +| OSEM_FACEBOOK_KEY | *string* | OMNIAUTH Developer Key for Facebook +| OSEM_FACEBOOK_SECRET | *string* | OMNIAUTH Developer Secret for Facebook +| OSEM_GITHUB_KEY | *string* | OMNIAUTH Developer Key for GitHub +| OSEM_GITHUB_SECRET | *string* | OMNIAUTH Developer Secret for GitHub | OSEM_SMTP_ADDRESS | smtp.opensuse.org | The smtp server to use | OSEM_SMTP_PORT | *int* | The port on the smtp server | OSEM_SMTP_USERNAME | *string* | The user for the smtp server | OSEM_SMTP_PASSWORD | *string* | The password for the smtp server | OSEM_SMTP_AUTHENTICATION | plain, login or cram_md5 | The auth method for the smtp server | OSEM_SMTP_DOMAIN | opensuse.org | The HELO domain for the smtp server -| CLOUDINARY_URL | *sting* | Configure your cloudinary.com cloud name and api key/secret +| CLOUDINARY_URL | *string* | Configure your cloudinary.com cloud name and api key/secret +| STRIPE_PUBLISHABLE_KEY | *string* | Publishable Key for Stripe Gateway +| STRIPE_SECRET_KEY | *string* | Secret Key for Stripe Gateway + +### Online Ticket Payments +We use [Stripe](https://stripe.com) for accepting your ticket payments securely over the web. +Our application uses iFrame for accepting your user's payment details without storing them, making the application PCI SAQ-A Compliant. +Please refer to [PAYMENTS](PAYMENTS.md) documentation file for setting up your stripe account and start accepting payments from your users. ## Dependencies diff --git a/PAYMENTS.md b/PAYMENTS.md new file mode 100644 index 00000000..ea1d515b --- /dev/null +++ b/PAYMENTS.md @@ -0,0 +1,42 @@ +# Integrate your Stripe account to accept your user's payments +Here you will find all the information that you need to setup your Stripe account into OSEM. +If you have any problems with installing don't hesitate to [contact us](https://github.com/openSUSE/osem#contact) + +## Configure Stripe into the application +To configure Stripe into your application all you need to do is add the private and publishable keys into the Rails environment. +You can register to Stripe [here](https://dashboard.stripe.com/register) and get your API keys for free. +**You need to set the API keys provided by Stripe into the application first to get the feature running.** + +Add your Stripe API keys in `.env` file into these variables: + +If you are using the application in development mode your config should look like this: + `STRIPE_PUBLISHABLE_KEY = 'pk_**test**_random123example456'` + `STRIPE_SECRET_KEY = 'sk_**test**_random123example456'` +The application in development mode can be used to test the whole test feature but is still not ready to be used by your users. +You need to use the live API keys to use the payment feature in production mode. + +In production mode, it should look like: + `STRIPE_PUBLISHABLE_KEY = 'pk_**live**_random123example456'` + `STRIPE_SECRET_KEY = 'sk_**live**_random123example456'` +In this mode, you can start accepting payments from your users. + +## Testing feature in development mode +You can test the payment feature in development mode with some test cards. +Check out the list of test cards [here](https://stripe.com/docs/testing#cards). + +### PCI Self Assessment Questionnaire(SAQ) +> As long as you serve your payment pages over TLS, and use either Checkout or Stripe.js +> as the only way of handling card information, Stripe automatically creates a prefilled SAQ A questionnaire for you, +> and you won’t need to undergo a PCI audit. If card data is stored or transferred through your servers, +> you are responsible for following PCI DSS guidelines for handling card data, and periodic audits by a PCI-certified auditor. + +As we are using Stripe Checkout for accepting payments, Stripe will help you for filling SAQ for your application. +You can read the full security documentation [here](https://stripe.com/docs/security). + +## Configure Stripe to send emails for successful transactions +Stripe can send email reciepts for every successful payment done through its gateway. +Please refer [here](https://dashboard.stripe.com/account/emails) to enable invoice emails for your users. + +## Customize Stripe invoice emails for your application +You can customise your payment reciepts by adding your personalisation like organisation name, logo etc. +Please see the options for invoice personalisation [here](https://dashboard.stripe.com/account/public).