From 63e1e410971f4ea35c38c3c42b794c27e859d5fc Mon Sep 17 00:00:00 2001 From: claucece Date: Sun, 27 Sep 2015 23:50:32 -0500 Subject: updated readme --- engines/billing/README.md | 54 ++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 51 insertions(+), 3 deletions(-) (limited to 'engines') 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 -- cgit v1.2.3