3
votes

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. ? enter image description here

1
I think the payment needs to be captured. If you go into the order's payments page, can you see the Capture button? If yes you should click on it to confirm the payment. Many payment methods also have the "Auto Capture" option in their edit page so you can avoid capturing all of them manually.kennyadsl

1 Answers

1
votes

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.