I'm using Braintree on a basic Spree 3.0.0 installation.
I created an sandbox account and added the merchant id and key's in the Admin panel for Braintree. I am able to complete an order all seems OK but in the Order section the payment state will have the status balance due. This is common behavior? Should not be changing to "paid" ?
Isn't Braintree confirming the transfer of funds even if it's a sandbox env. ?
As kennyadsl suggested, it looks like you might have to enable auto capturing of payments.
I recommend doing this in your spree initializer (in my app it's in config/initializers/spree.rb). You have a few options for doing this, such as in a block:
Spree.config do |config|
config.auto_capture = true
# Other config modifications
end
or by assignment:
Spree::Config[:auto_capture] = true
If this doesn't resolve your issue let us know, and as kennyadsl suggested, check the payments page or spree_payments table and we can recommend more solutions from there.