summaryrefslogtreecommitdiff
path: root/engines/billing
diff options
context:
space:
mode:
Diffstat (limited to 'engines/billing')
-rw-r--r--engines/billing/README.md54
1 files changed, 51 insertions, 3 deletions
diff --git a/engines/billing/README.md b/engines/billing/README.md
index 3ef6153..1cabaa7 100644
--- a/engines/billing/README.md
+++ b/engines/billing/README.md
@@ -1,13 +1,14 @@
Billing Engine
====================
-Currently, this engine support billing via Braintree. More backends to come later.
+Currently, this engine support billing via Braintree. Braintree provides three
+options for payments: Pay Pal, Bitcoin and Credit Cards.
Configuration
----------------------------------
Start with a sandbox account, which you can get here: https://www.braintreepayments.com/get-started
-
+:q
Once you have registered for the sandbox, logging in will show you three important variables you will need to configure:
* merchantId
@@ -46,4 +47,51 @@ You also will want to add a Plan to your Sandbox. Within the Braintree Sandbox,
Here are credit cared numbers to try in the Sandbox:
-https://www.braintreepayments.com/docs/ruby/reference/sandbox \ No newline at end of file
+https://www.braintreepayments.com/docs/ruby/reference/sandbox
+
+How does it works
+--------------------------------
+
+The new implementation of Braintree uses its new API called 'v.zero'. It
+consists of complementary client and server SDKs:
+
+1. The JS client SDK enables you to collect payment method (e.g. credit card,
+PayPal) details on your website
+2. The server SDKs manage all requests to the Braintree gateway.
+
+They represent the Client-side Encryption solution that combines Braintree’s
+traditional Server-to-Server (S2S) approach and Transparent Redirect (TR)
+solution. It can be described as following:
+
+1. The application server generates a client token for each customer (data blob)
+using the Ruby SDK for the frontend that initializes the JavaScript SDK
+using that client token.
+2. The Braintree-provided JavaScript library encrypts sensitive data using the
+public key and communicates with Braintree before the form is ever posted to
+your server.
+3. Once the data reaches Braintree’s servers, it is decrypted using the keypair’s
+private key, then returns a payment method nonce to your client code. Your code
+relays this nonce to your server.
+4. Your server-side code provides the payment method nonce to the Ruby SDK to
+perform Braintree operations (in this case either donations or subcriptions).
+
+What is included
+--------------------------------
+
+Current implementation with 'v.zero' provides:
+1. Donations and subscriptions.
+2. Three payment methods: Bitcoin, Pay Pal and Credit Cards.
+3. Creation and storage of customers (stored in 'The Vault')
+4. Ability to donate as anonymous user.
+5. Subscription or unsubscriptions to plans.
+6. Recurring billing.
+7. Storing Multiple Credit Cards.
+
+Bitcoin
+--------------------------------
+
+In order for Bitcoin to work, you need to write Braintree's community and ask
+them to allow that payment method. Bitcoin is implemented via Coinbase.
+Learn about this here:
+https://developers.braintreepayments.com/javascript+ruby/guides/coinbase/configuration
+Contact: coinbase@braintreepayments.com