Our documentation has moved!

You are currently viewing a legacy version of our help articles.
For the most up-to-date version, please use the new Chargify Help & Support Site.

Details about Beanstream (Canadian payment gateway)

Beanstream works with Merchant Accounts (and therefore, Chargify merchants) in these countries:

  • Canada
  • USA

Beanstream works with customers/consumers in these countries:

  • All countries
  • Product prices in Canadian dollars or US dollars
  • Customers purchasing in other currencies will be charged in their local currency at the exchange rate in effect at the time of the transaction

Card Storage with Beanstream

Please be sure you have Beanstream's card number storage service/option. We need that to store credit card numbers.

Payment Profile Configuration

You will need to configure your Beanstream account to allow duplicate payment profile information. Here's how:

  • Log in to your Beanstream account and navigate to configuration -> payment profiles
  • Uncheck the boxes for "Do not allow profile to be created with card data duplicated from an existing profile." and "Do not allow profile to be created with billing information duplicated from an existing profile."
  • Click "Update" to save the changes

Having duplicate profiles is not a "bad thing", and is something we must do in some cases since we can't always detect duplicates ourselves given the limited card information we store.

Currency settings

When using Beanstream, be sure to let Beanstream know whether you intend to process transactions using US dollars or Canadian dollars. The currency setting in Chargify must match the currency set up by Beanstream. Chargify is unable to detect if a there is a discrepancy in this setting.

Using Beanstream with the API

Beanstream requires that every API request must include the customer's name, address, state/province, zip/postal code, and country.

Beanstream only allows specific state/province and country codes to be used. Please review pages 64-67 of 'Process_Transaction_API_Guide.pdf,' available in the Beanstream administration console under Documentation > Processing > Process Transaction API Guide.

Using Beanstream with Chargify Hosted Pages

To use Chargify's hosted pages with Beanstream, you must enable billing address collection.

Creating a user specifically for use with your Chargify account

Sometimes, it's a good idea to separate out the administrator from access that Chargify would use. To do that, follow these steps:

  • After you've logged into Beanstream, click on Administration->User Manager 
  • Click "Add user", which brings up a dialog. Add the appropriate information, with a username like "chargify" 
  • Make sure you records (somewhere) the username/password you're going to use for this user - you'll need to copy it back into your Chargify settings. When done, click "Add User" from within the dialog. 
  • Change the permissions for the new user, by clicking the new user in the left list, to the following:
    • Recurring Billing = No Access
    • Payment Form = No Access 
    • Web Terminal = No Access 
    • Account Settings = No Access 
    • Security = No Access 
    • Language = English 
    • Disabled = No 
    • Secure Webspace = No Access 
    • Payment Profile = Full Access 
    • Company Info = Read Only
    • Credit Card Viewing = Masked Card 
    • Reporting = Full Access 
    • Administrator = No
  • When you have all that added, just click the "Update" button.



If you get "Transaction Declined. Restricted transaction type."
then here's what one of our very kind customers said about his experience...

Looks like the "Restricted transaction type" is due to Beanstream setup. Here's a helpful blurb for other Beanstream users:

When setting up the Beanstream account, you need to change the order settings for "Restrict Internet Transaction Processing Types" to >allow both purchase and pre-auth transactions. This setting can be found under Administration -> Account Settings -> Order Settings, >selecting the radiobutton for both types and hitting 'Update'


The following very complete list of steps was graciously provided by Chargify customer jpr@jprosevear.org:

a. Get a Beanstream account or test account

b. Email Beanstream support and ask for payment profiles to be enabled (may add extra cost)

c. In Beanstream go to Configuration->Payment Profile Configuration in the Secure Payment Profile section click on "Generate New Code" for API Access Passcode and then hit "Update" at the bottom.

d. In Beanstream go to Administration->Account Settings->Order Settings and under Transaction Validation options make sure "Restrict Internet Transaction Processing Types" is off - alternately make sure "Purchase or Pre-Authorization only " is on. Turn use username/password validation against transaction on and enter a username and password.

e. In Chargify go to your product and under Settings->Payment Gateway configure Beanstream using your merchant id, the username/password from #4 and the Payment Profile API Pass Code from #3.

N.B. You can only use each Beanstream test card once for a customer. You must clear the information to use it again under Processing->Payment Profile in Beanstream.

To be fair to Beanstream it was their support than cleared this up and they have been very helpful to me on the business side (for a merchant account as well as a payment gateway). I am surprised that neither Beanstream or Chargify had a complete set of instructions. Beanstream support said they would read through my instruction list in this thread as well.

Was this article helpful?
5 out of 5 found this helpful
Have more questions? Submit a request


  • 0
    Stephen Parslow

    We had to write up a couple of selects with the Beanstream country and state/province codes.  Thought we would share them to save others the work :)

  • 0
    Stephen Parslow

    Oops, countries were out of order in the last one, sorry.  This one is in order.

  • 0
    Stephen Parslow

    Some extra tips from my experience integrating Chargify & Beanstream:

    Ok, think I've got it all figured out ....

    When getting your Beanstream API code:

    DO NOT use Beanstream's RECURRING API code under Administration > Account Settings > Order settings

    USE  Beanstream's PROFILE API code under Configuration > Payment Profile configuration.


    When entering you Beanstream credentials into Chargify:

    DO NOT use a Beanstream user/pass (set under Administration > User Manager) as your credentials entered into Chargify

    INSTEAD select  "Use username/password validation against transaction" and use the username/password you set here as your credentials for Chargify (set under Administration > Account Settings > Order Settings).

  • 0
    Rob Imbeault

    Hi Stephen,  I am currently having difficulty setting my chargify/beanstream account up.  I believe I've followed all the rules here, but I'm still getting a 422 error.  Would you be will to take a look at my settings?  

  • 0
    Stephen Parslow

    Hi Rob, I'd be happy to give it a peek and see if I can see anything.  Drop me a line at stephen at salonmonster.com

  • 0
    Nahla Rashad

    For your information, the instruction from   jpr@jprosevear.org is the most important. You probably do not need to create your own chargify user, but instead, the step D of  jpr@jprosevear.org took care of it. The step D is probably the right way to do it. 

    And I like to say that Beanstream technical support is very helpful.

  • 0
    Francis Pilon

    If you get the following error: "Validation greater than maximum amount", be advised that by default Beanstream sets the maximum transation limit on test accounts to $1000.

Please sign in to leave a comment.
Powered by Zendesk