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.
Comment | File | Size | Author |
---|---|---|---|
#4 | 2855774-transaction-errors.patch | 688 bytes | bradjones1 |
Braintree-vs-Drupal.png | 80.37 KB | joegml |
Comments
Comment #2
bojanz CreditAttribution: bojanz commentedFor some reason the module didn't recognize the API response as an error. That's definitely concerning.
Comment #3
joegml CreditAttribution: joegml commentedAgreed. 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.
Comment #4
bradjones1Looks like some copy-pasted code wasn't totally refactored in the error handler.
Comment #5
bojanz CreditAttribution: bojanz at Centarro commentedLooks like you're right. Great catch.
Comment #7
bojanz CreditAttribution: bojanz at Centarro commentedCommitted, thanks.