News:

Looking for documentation? Take a look on our wiki

Main Menu

Canadian experience with payment processors?

Started by Shibumi, March 15, 2006, 15:43:52 PM

Previous topic - Next topic

Anthony C.

#30
After setting up the testing account from Beanstream,
I got this error:

Error: <LI>Invalid Card Number<br>
Error: Failure in Processing the Payment (ps_beanstream)

Does anyone know how I can troubleshoot this problem?

I tried to use both the testing creditcard number and my own credit card number, but didn't work at all.

thanks

Anthony
-----------------------------------------


Sorry i got it fixed..@@ input into the wrong fields..



Anthony C.

Another questions:
about this
QuoteBeanstream seems to use the session id for the order numbers, and not the actual order number from VM - this is something jabberwock and I are looking into to see if we can get the actual order from VM to be passed, and not the session id - this will make it easier to match up orders.

Anyone got it solved?
Thank you..

Anthony C.

#32
I was able to send the order_id to beanstream.
Now I tested the system. Everything works fine except when we use a non US or Canada address for shipping address. The VM can't varify the order. I checked the database, in the jos_vm_order_user_info, there is record of the order, however, in the order_id is set to '0' which means it doesn't relate to other table.

Anyone got the same problem? or if anyone's vm with beanstream works for foreign addresses, please tell me.
Thank you

Anthony
-----------------------------------------------------------------
Problem Solved:

in my shipping items, I have " ' " in the field which makes errors in sql syntax.

Just to remind myself and ppl, don't put ' in the fields unless it is meants to only display as text fields.

^^

Anthony

Chirag Shah

Hi ,We are going to open a canadian store using virtuemart.
We need some help.

We want to add module for payment processor from canadian company.
As i went to this forum and find out that you have made a module and it is working good.

I request you to give us files  to install and instructions to install and use this module.

Thanks
Quote from: CiPHeR on March 30, 2006, 17:33:53 PM
Quote from: jabberwock on March 29, 2006, 05:20:17 AM(Added by CiPHeR): Updated instructions for BeanStream Payment Processor (note - addition of components/ to the path)

1. Unzip the attached php files to adminsitrator/components/com_virtuemart/classes/payment/
- you will have 2 new files (ps_beanstream.php and ps_beanstream.cfg.php) to upload to the adminsitrator/components/com_virtuemart/classes/payment/

2. Then in administrator/components/com_virtuemart/languages/english.php add the following code:
	
// Beanstream Processor Text Strings 
	
var 
$_PHPSHOP_ADMIN_CFG_ENABLE_BEANSTREAM_TESTMODE 'Enable Test Mode:';
	
var 
$_PHPSHOP_ADMIN_CFG_ENABLE_BEANSTREAM_TESTMODE_EXPLAIN 'Select \'Yes\' while testing. Select \'No\' for enabling live transactions. Must match the setting set in the Beanstrem admin area.';
	
var 
$_PHPSHOP_ADMIN_CFG_BEANSTREAM_USERNAME 'Beanstream Merchant ID:';
	
var 
$_PHPSHOP_ADMIN_CFG_BEANSTREAM_USERNAME_EXPLAIN 'This is your Beanstream acount id.';
	
var 
$_PHPSHOP_ADMIN_CFG_BEANSTREAM_KEY 'Click to set secure transaction key:';
	
var 
$_PHPSHOP_ADMIN_CFG_BEANSTREAM_KEY_EXPLAIN 'This is your Beanstream Transaction Key for signing encrypted communications. It needs to be set in the Beanstream admin area too. Set it nothing to not use the transaction key';
	
var 
$_PHPSHOP_ADMIN_CFG_BEANSTREAM_KEY_EXPLAIN2 'This is your Beanstream Transaction Key for signing encrypted communications';
	
var 
$_PHPSHOP_PAYMENT_BS_RECURRING 'Use recurring billing:';
	
var 
$_PHPSHOP_PAYMENT_BS_RECURRING_TOOLTIP 'Define wether you want recurring billings.';
	
var 
$_PHPSHOP_PAYMENT_BS_VERIFIED_BY_VISA 'Enable Verified by Visa:';
	
var 
$_PHPSHOP_PAYMENT_BS_VERIFIED_BY_VISA_TOOLTIP 'Use the Verified by Visa checking.'// NOT YET BUILT
	
var 
$_PHPSHOP_PAYMENT_BS_VALIDATE_YESNO 'Use username/password validation against transaction:';
	
var 
$_PHPSHOP_PAYMENT_BS_VALIDATE_YESNO_TOOLTIP 'Use username/password validation against transaction. Must be enabled in the Beanstring admin area.';
	
var 
$_PHPSHOP_PAYMENT_BS_VALIDATE_USER 'User Name:';
	
var 
$_PHPSHOP_PAYMENT_BS_VALIDATE_USER_TOOLTIP '';
	
var 
$_PHPSHOP_PAYMENT_BS_VALIDATE_PASSWORD 'Password:';
	
var 
$_PHPSHOP_PAYMENT_BS_VALIDATE_PASSWORD_TOOLTIP '';
	
//end Beanstream Processor Text Strings 


(Added by CiPHeR): look through the code til you find other payment types and insert at the end of the existing types and it will work fine. For example, I looked around line 1010 and inserted the code between Cybercash and Advanced Search:


	
var 
$_PHPSHOP_ADMIN_CFG_CYBERCASH_URL 'CyberCash PAYMENT URL';
	
var 
$_PHPSHOP_ADMIN_CFG_CYBERCASH_URL_EXPLAIN 'CyberCash PAYMENT URL is the URL provided by Cybercash for secure payment';
	
var 
$_PHPSHOP_ADMIN_CFG_CYBERCASH_AUTENTICATIONTYPE 'CyberCash AUTH TYPE';
	
var 
$_PHPSHOP_ADMIN_CFG_CYBERCASH_AUTENTICATIONTYPE_EXPLAIN 'CyberCash AUTH TYPE is the Cybercash authentication type provided by Cybercase';
	
// Beanstream Processor Text Strings 

                
insert beanstream code here

	
//end Beanstream Processor Text Strings 
	
var 
$_PHPSHOP_ADVANCED_SEARCH 'Advanced Search';
	
var 
$_PHPSHOP_SEARCH_ALL_CATEGORIES 'Search All Categories';
	
var 
$_PHPSHOP_SEARCH_ALL_PRODINFO 'Search all product info';
	
var 
$_PHPSHOP_SEARCH_PRODNAME 'Product name only';

3. Save the file then upload to adminsitrator/components/com_virtuemart/languages/

4. Then in Virtuemart create a new payment processor and make sure to fill in the following values:
Payment Method Name: Credit Card or Visa, or Mastercard, (whatever you want to show in checkout for payment option)
Code: BS
Payment class name: ps_beanstream  (must be ps_beanstream)
Payment method type: credit card

Save the payment type then go back...

5. And fill in the information under the configuration tab

If you select username and password verification, note that you must setup a username and password in your BeanStream Account

BeanStream Account --> Administration --> Account Settings --> Order Settings

- the username and password can be anything you want, then enter that username and password in the appropriate fields

It is important to note that your settings in your Beanstream Admin MUST sync with your settings in VirtueMart

Updated: Working now with CW2 Numbers too (thanks Cipher)

6. If the ps_beanstream.php still shows this code at line 321:
            'ordName'
	
	
=> 
substr($dbbt->f("first_name"), 032) . substr($dbbt->f("last_name"), 032) ,


replace it with:
            'ordName'
	
	
=> 
substr($dbbt->f("first_name"), 032) ." "substr($dbbt->f("last_name"), 032) ,


and the same for line 332:
            'shipName'
	
	
=> 
substr($dbst->f("first_name"), 032) . substr($dbst->f("last_name"), 032),


replace it with:
            'shipName'
	
	
=> 
substr($dbst->f("first_name"), 032) ." "substr($dbst->f("last_name"), 032),


this fixes the order and shipping names adding a single whitespace between First and Last name

Have not tested this extensively yet, but the module does work with CVV verification, username and password is great for verifying the process is legit.  Beanstream will give you a test account to try this out, and they are fairly helpful with regards to getting you up and running.  Orders will show payment processed sucessfully in VM, and you can also track your orders in Beanstream as well as issue refunds, or void transactions - even on test account.

Beanstream seems to use the session id for the order numbers, and not the actual order number from VM - this is something jabberwock and I are looking into to see if we can get the actual order from VM to be passed, and not the session id - this will make it easier to match up orders.

Anthony C.

Hi Chirag,


Just go to the first post and download the files from the thread.

Follow instructions then you probably will get it to setup.

Read through this topic post, usually the answers are here.


Anthony

Winston Bromley

yes, if there is anybody who has created an INTERNET SECURE MODULE that would be great. willing to donate $$ to get this done for Canada!!!! ;)



Quote from: icw on April 28, 2006, 15:19:42 PM
Well Canucks, looks good so far...

What about a spin off towards a internetsecure payment modual.

I have an internetsecure account and have also used that of Zencart(spin off of OSC, but way way better), I'm not a programmer, but know there are many internetsecure users like that of myself and we sincerely need something like this.

VM has a great future, but todate I get the feeling it is not very Canadian or North American friendly.

I can help in testing and French translations. Currently I have a test site of Joomla and VM running in both French and English, some minor items in this regards. VM's attributes options are a dog to work with in my opinion at this point as well. Take Zencart or OSC, one product is created, attributes are added with multiple options. When using more then one language, there is only on main product and the translated version in stage with this, you add attributes and still only one product is required. VM on the otherhand ends up with parent-child products, this in terms of attributes the VM way ends up with mutiple copies of the same product in my case: product plus 4 size formats(same product, just different sizes) that in terms adds the need to translate 4 times the same product after the parent product, that is a nasty workload when you have many products in a dual language setup.





floatingworld

I have followed the instructions but I am getting:

Error: Authorization Failed
Error: Failure in Processing the Payment (ps_beanstream)

When I confirm the order.

Does anyone have any idea?

floatingworld

I don't know what I did, But now I get:

Error: Authorization Failed - Access lockout contact support
Error: Failure in Processing the Payment (ps_beanstream)

David Millar

There appears to be a bug on line 51 in ps_beanstream.php

<? echo BS_LOGIN ?>

should be

<?php echo BS_LOGIN ?>

floatingworld

One of my problems was cause by Vmart not publishing the state/provinces variable:

Got it...

For some reason, virtuemart.cfg.php was defaulting to not allowing selection of State/Province .

(line 93 was set to: define('CAN_SELECT_STATES', '');
when it should have been set to: define('CAN_SELECT_STATES', '1');

Because the server was not detecting a state, it was throwing an error.

Once I fixed this problem in the config, and added the state to the test ship-to address, everything worked great.

Thanks to koltz for posting this on another thread.

So it seems to work!!! I'm not getting a confirmation email yet- but maybe that's because it's in test mode.

Aaron

Anthony C.

hi Aaron,

you should get a confirmation email even it is in test mode.

I am letting beanstream to test the payment module and hope it will go well.

Anthony

floatingworld

I wonder why I'm not getting a confirmation email then? ??? The payment appears to go through....

Any ideas would be appreciated...

floatingworld


Anthony C.

Are there any Canadian interested in helping with this section?

the beanstream file is working however the VbV (verified by Visa) is not implemented yet.

Can anyone help who has experiences in this part?

Thank you,

Anthony C.

floatingworld