This may perhaps be a nomenclature misunderstanding, but "Capture (Completed)" sounds to me like payment was captured and went through smoothly. It appears Drupal thinks it was and Braintree thinks it wasn't. I ran this test with a Visa Gift card and I think that's why it got declined. That's not the issue.

BT says "Processor Declined" and captured NO funds. It appears to me that Drupal thinks the funds were captured. This would be bad for a client ;-)

Attached is a combo scrot showing Drupal's view at top and Braintree's view at bottom. Note matching ID and mismatched states. The "Refund" button also implies there are funds to be refunded, which there are not.

Support from Acquia helps fund testing for Drupal Acquia logo

Comments

joegml created an issue. See original summary.

bojanz’s picture

Priority: Normal » Major

For some reason the module didn't recognize the API response as an error. That's definitely concerning.

joegml’s picture

Agreed. The tunneling makes this hard to debug I'm sure.

Drop a line if you want more sensitive data from BT. Not sure if they've got some debugging info on their end.

Card is kind of an edge case: stripe accepts it even though there's no user associated with it, FB won't accept it. Anyway, if the charge isn't completed for any reason, Drupal needs to know that.

bradjones1’s picture

Status: Active » Needs review
FileSize
688 bytes

Looks like some copy-pasted code wasn't totally refactored in the error handler.

bojanz’s picture

Title: Drupal shows invalid Payment Capture » Braintree error not caught by the module

Looks like you're right. Great catch.

  • bojanz committed 2bb9213 on 8.x-1.x authored by bradjones1
    Issue #2855774 by bradjones1, joegml, bojanz: Braintree error not caught...
bojanz’s picture

Status: Needs review » Fixed

Committed, thanks.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.