Re: Adding Braintree payment module
Quote:
Originally Posted by
DrByte
When the form data is submitted to your server, the payment module takes the card number and passes it to the cc_validation class to be sure that it matches the card types that you've configured your store to accept in Admin->Configuration->Credit Cards.
But, since the error message you quoted isn't showing *any* of the rejected digits, it's possible that the value is blank when being submitted.
Or, it could be that the translation logic in your language files is missing the placeholder that displays the card number. (First test for that is to switch to english and see if the same message also doesn't show the digits.)
Thanks for your reply.
I switched to English but there are still no digits shown in the error message for Mastercard.
Visa card payments work correctly.
The actual message
Quote:
braintree_api
CC validation results: The credit card number starting with was not entered correctly, or we do not accept that kind of card. Please try again or use another credit card.(-1)
Re: Adding Braintree payment module
Quote:
Originally Posted by
marton_1
Thanks for your reply.
I switched to English but there are still no digits shown in the error message for Mastercard.
Visa card payments work correctly.
The actual message
When I wrote "Visa card payments work correctly." I meant the payment is made OK not that an error message for Visa card is shown correctly!
Re: Adding Braintree payment module
To summarise, valid Mastercards are being rejected. The error message is the first four digits are wrong.
I have tested three different genuine cards with the four digits 5487 and all were rejected.
Visa cards are not rejected and payment is made so I assume it is a data issue not a coding issue?
There is a subsidiary problem that the error message does not does not show the incorrect digits; just a blank.
I entered a Visa card with incorrect first four digits, it was rejected and the error message again did not show the incorrect digits
Re: Adding Braintree payment module
Quote:
Originally Posted by
marton_1
To summarise, valid Mastercards are being rejected. The error message is the first four digits are wrong.
I have tested three different genuine cards with the four digits 5487 and all were rejected.
Visa cards are not rejected and payment is made so I assume it is a data issue not a coding issue?
There is a subsidiary problem that the error message does not does not show the incorrect digits; just a blank.
I entered a Visa card with incorrect first four digits, it was rejected and the error message again did not show the incorrect digits
Forgot to say that in sandbox mode using the Mastercard test number everything works OK
Re: Adding Braintree payment module
Quote:
Originally Posted by
marton_1
To summarise, valid Mastercards are being rejected. The error message is the first four digits are wrong.
I have tested three different genuine cards with the four digits 5487 and all were rejected.
Visa cards are not rejected and payment is made so I assume it is a data issue not a coding issue?
There is a subsidiary problem that the error message does not does not show the incorrect digits; just a blank.
I entered a Visa card with incorrect first four digits, it was rejected and the error message again did not show the incorrect digits
Quote:
Originally Posted by
marton_1
Forgot to say that in sandbox mode using the Mastercard test number everything works OK
Also forgot to say that I receive the error message that does not does not show the incorrect first four digits but my customer does not receive any sort of error message. On the last step (3 of 3) when they confirm the order they are just sent back to page 2 of 3- "Payment Information" without any explanation!
Re: Adding Braintree payment module
As mentioned Visa cards work correctly. I tried entering a Visa card with an incorrect Card Verification Value and as the administrator I got the message
Quote:
braintree_api
CC validation results: The credit card number starting with was not entered correctly, or we do not accept that kind of card. Please try again or use another credit card.(-1)
Of course this is not a useful error message, as the customer I did not receive any sort of error message and was just sent back to page 2 of 3- "Payment Information" without any explanation!
I tried commenting out the credit card check in braintree_api.php but then the correct Visa card does not work any more; at least as the customer I did get a detailed error message on page 2 of 3- "Payment Information"
This is the code but probably I did not comment it correctly; I commented out the whole section starting "This is the credit card check"
Code:
/**
* This is the credit card check done between checkout_payment and
* checkout_confirmation (called from checkout_confirmation).
* Evaluates the Credit Card Type for acceptance and the validity of the Credit Card Number & Expiration Date
*/
function pre_confirmation_check() {
global $messageStack, $order;
include(DIR_WS_CLASSES . 'cc_validation.php');
$cc_validation = new cc_validation();
$result = $cc_validation->validate($_POST['braintree_cc_number'], $_POST['braintree_cc_expires_month'], $_POST['braintree_cc_expires_year'], (isset($_POST['braintree_cc_issue_month']) ? $_POST['braintree_cc_issue_month'] : ''), (isset($_POST['braintree_cc_issue_year']) ? $_POST['braintree_cc_issue_year'] : ''));
$error = '';
switch ($result) {
case 1:
break;
case -1:
$error = MODULE_PAYMENT_BRAINTREE_TEXT_BAD_CARD; //sprintf(TEXT_CCVAL_ERROR_UNKNOWN_CARD, substr($cc_validation->cc_number, 0, 4));
if ($_POST['braintree_cc_number'] == '')
$error = str_replace('\n', '', MODULE_PAYMENT_BRAINTREE_TEXT_JS_CC_NUMBER); // yes, those are supposed to be single-quotes.
break;
case -2:
case -3:
case -4:
$error = TEXT_CCVAL_ERROR_INVALID_DATE;
break;
case false:
$error = TEXT_CCVAL_ERROR_INVALID_NUMBER;
break;
}
$_POST['braintree_cc_checkcode'] = preg_replace('/[^0-9]/i', '', $_POST['braintree_cc_checkcode']);
if (isset($_POST['braintree_cc_issuenumber']))
$_POST['braintree_cc_issuenumber'] = preg_replace('/[^0-9]/i', '', $_POST['braintree_cc_issuenumber']);
if (($result === false) || ($result < 1)) {
$messageStack->add_session($this->code, $error . '<!-- [' . $this->code . '] -->' . '<!-- result: ' . $result . ' -->', 'error');
zen_redirect(zen_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL', true, false));
}
$this->cc_card_type = $cc_validation->cc_type;
$this->cc_card_number = $cc_validation->cc_number;
$this->cc_expiry_month = $cc_validation->cc_expiry_month;
$this->cc_expiry_year = $cc_validation->cc_expiry_year;
$this->cc_checkcode = $_POST['braintree_cc_checkcode'];
}
/**
* Display Credit Card Information for review on the Checkout Confirmation Page
*/
Re: Adding Braintree payment module
Decided to abandon this Braintree gateway and return to Paypal Express, problem here is credit card customers are sometime asked to open a PayPal account and then I lose the sale :(
Anyway looks like the Braintree gateway is not updated for MasterCard 2-series BIN.
I tried payeez, I filled in the new customer form on their local web site some two months ago but they never did reply.
Square does not offer credit card service in Switzerland.
Anybody have good experience of a Zen Cart credit card gateway in Switzerland?
Re: Adding Braintree payment module
Is there a support to Paypal transaction in this Braintree payment module? I see many files related to it in modules directory, but in store front there is only card payment method visible. For example in directory "/includes/modules/payment/braintree/lib/Braintree" there is files PayPalAccount.php and PayPalAccountGateway.php. How to get it visible in checkout?
Other question is about this code in "braintree_api.php":
Code:
// store the Braintree order meta data -- used for later matching and back-end processing activities
$braintree_order = array('order_id' => $insert_id,
'txn_type' => $this->transactiontype,
'module_name' => $this->code,
'module_mode' => 'USA',
I live in Finland and have plans to sell products in EU area. Do I need to change that hard coded "USA"-line? Test transaction in sandbox mode is working.
Thank you.
Re: Adding Braintree payment module
Hi juvar,
I would suggest testing it (and maybe taking the trouble to peruse the Braintree API docs on their site).
I'm going to try this module too, although I am specifically interested in the credit card option: Paypal express checkout does not permit guest checkout for Japan-issued credit cards (I am in Japan).
Alternatives would be Stripe (still waiting for their Japan sales team to get back to me on any service restrictions), and Square (waiting for their sales team, same question), among others.
Re: Adding Braintree payment module
I used to use Braintree but stopped it due to problems with Mastercard payments. I switched to Stripe but it has not been updated to handle the new EU PSD2 requirements so I cannot use Stripe any more.
I see the Braintree module has been updated since but it is not stated what has been fixed/changed. Is PSD2 supported?