Longclaw

Longclaw

  • Docs
  • Demo
  • Help

›User Guide

Tutorial

  • Introduction
  • Setup
  • Adding Products
  • Shipping
  • Frontend
  • Payment

User Guide

  • Checkout
  • Integrations
  • Basket
  • API Client
  • Checkout API
  • Product Requests

Payment Backends

Longclaw supports payment capture through Stripe, Braintree and Paypal (Using the Braintree VZero SDK).

To select the payment gateway to use, you must specify the PAYMENT_GATEWAY attribute in your settings.py.

The options are:

  • longclaw.checkout.gateways.base.BasePayment. A do-nothing base implementation
  • longclaw.checkout.gateways.stripe.StripePayment. Capture payments using Stripe.
  • longclaw.checkout.gateways.braintree.BraintreePayment. Capture payments using Braintree.
  • longclaw.checkout.gateways.braintree.PaypalVZeroPayment. Capture Paypal payments using the braintree v.zero SDK.

Additional Settings and dependencies

To use payment gateways it is necessary to specify API keys and install client SDK's for the chosen payment provider.

Stripe

STRIPE_PUBLISHABLE - Your public api key STRIPE_SECRET - Your secret api key You will need to install the stripe python sdk (pip install stripe)

Braintree

BRAINTREE_MERCHANT_ID - Your braintree merchant account ID. BRAINTREE_PUBLIC_KEY - Your public api key BRAINTREE_PRIVATE_KEY - Your secret api key

Paypal

VZERO_ACCESS_TOKEN - Your access token for the v.zero SDK.

Paypal and braintree require the braintree python SDK (pip install braintree)

Custom Integrations

To implement your own payment integration, you must implement the payment gateway interface. This is simple:

  • Inherit from longclaw.checkout.gateways.base.BasePayment
  • Implement create_payment. This should take a request object, an amount and optionally a description. It should use these to capture the payment using your chosen provider. For examples see the implementations in longclaw.checkout.gateways
  • Implement the get_token method. This method should generate tokens used by the payment provider. It accepts a request object containing post data (request.data). Tokens returned may represent different things depending on the payment provider - e.g. it may be used to tokenize payment details or generate authentication tokens.

You can define your own requirements for the request data to be submitted to the functions. create_payment is called in a POST request to the checkout/ api. get_token is similarly called in a POST request to the checkout/token/ api.

Longclaw aims to be as minimal as possible in order to get the job done. This is why longclaw currently only offers the barest minimum support necessary to directly create payments with the backend payment provider.

← CheckoutBasket →
  • Additional Settings and dependencies
  • Stripe
  • Braintree
  • Paypal
  • Custom Integrations
Longclaw
Docs
Getting Started (or other categories)Guides (or other categories)API Reference (or other categories)
Community
User ShowcaseStack OverflowProject Chat
More
BlogGitHubStar
Copyright © 2019 James Ramm