 |
You can select Google Checkout as the Payment Processor for your CiviCRM online contributions, membership sign-up and event registration as of version 1.8. This page describes the configuration requirements and steps.
Please note: You must have a SSL certificate from this list of "certified" providers in order to use Google Checkout in conjunction with CiviContribute. |
PHP Configuration Requirements
The following PHP extensions must be enabled in order for CiviCRM to interface with Google Checkout payment services:
- PHP cURL extension for PHP 4.3.0+ and higher with SSL support
Use phpInfo() to check for these extensions. You should see the following lines:
CURL support => enabled
OpenSSL support => enabled
CiviCRM Configuration Requirements
CIVICRM_UF_BASEURL must be defined in civicrm.settings.php, or you will get a validation error for continue-shopping-url from Google Checkout.
Setting up Test and Live Accounts
Google Checkout provides Sandbox Accounts for testing purpose.
To setup Google Checkout Merchant-Accounts you can use the following links:
TEST Merchant Account : http://sandbox.google.com/checkout/sell
LIVE Merchant Account : http://checkout.google.com/sell
 |
Google Checkout does not allow you to use the same account as both the customer and the merchant for a transaction. Therefore you will need to create both a Merchant Account and a Customer Account for testing purposes.
You can create your TEST Customer Account(s) at http://sandbox.google.com/checkout. |
Adhere to the following guidelines when setting up your test accounts:
- Skip any sections that ask for your bank account information.
- Enter any name and address as long as the State field contains a valid two-letter abbreviation for a U.S. state and the Zip Code field contains a five-digit or nine-digit zip code. (You do not need to enter the correct zip code for the address.)
- Enter any 10-digit phone number for the Phone Number field.
- Use one of the credit card numbers in the following table:
| Card Type |
Card Number |
CVC |
Expiration Date |
| American Express |
3782 8224 6310 005 |
any four digits |
any four digits |
| Discover |
6011 1111 1111 1117 |
any four digits |
any four digits |
| MasterCard |
5555 5555 5555 4444 |
any four digits |
any four digits |
| VISA |
4111 1111 1111 1111 |
any four digits |
any four digits |
|
Configure API Access
Set API callback URL
- Login through your Google Checkout Merchant-Account.
- Click on 'Settings' tab.
- Go to 'Integration' section.
- Set 'API callback URL' to https://path-to-civicrm/extern/googleNotify.php
- Also make a note of Merchant-ID and Merchant-Key displayed under 'Account information'.
The API callback URL must use a valid certificate signed by a known authority (not self-signed). You can use HTTP (non-SSL/TLS) for the sandbox to test integration.
Set Merchant-ID and Merchant-Key
- Log into CiviCRM as an administrator.
- Select Administer CiviCRM.
- Select Global Settings.
- Select New Payment Processor.
- For Payment Processor, choose 'Google Checkout'.
- Set the 'Merchant ID' to Merchant-ID obtained from step 5 of 'Set API callback URL'.
- Set the 'Merchant Key' to Merchant-KEY obtained from step 5 of 'Set API callback URL'.
Set Site-URL
- For TEST transaction, set 'Site URL - TEST' to 'https://sandbox.google.com/checkout'.
- For LIVE transaction, set 'Site URL - LIVE' to 'https://checkout.google.com'.
Set Button-URL
- For TEST transaction, set 'Button URL - TEST' to "http://sandbox.google.com/checkout/buttons/checkout.gif?merchant_id=[CRM:MerchantID]&w=180&h=46&style=white&variant=text&loc=en_US" where [CRM:MerchantID] is to be replaced with your Merchant-ID obtained from step 5 of 'Set API callback URL'.
- For LIVE transaction, set 'Button URL - LIVE' to "http://checkout.google.com/buttons/checkout.gif?merchant_id=[CRM:MerchantID]&w=180&h=46&style=white&variant=text&loc=en_US" where [CRM:MerchantID] is to be replaced with your Merchant-ID obtained from step 5 of 'Set API callback URL'.
 | Modifying the Button URL You can modify the size, color and several other properties of the checkout button by changing the values of the parameters in the TEST and LIVE Button URLs.
The base URL for the Button Image is :
TEST URL : http://sandbox.google.com/checkout/buttons/checkout.gif
LIVE URL : http://checkout.google.com/buttons/checkout.gif
You will add the following parameters to these base URLs as name=value pairs.
| Parameters |
Values |
Description |
| w |
180/168/160 (large/medium/small) |
width of the button in pixels |
| h |
46/44/43 (large/medium/small) |
height of the button in pixels |
| style |
white/trans.. |
background color for the button |
| variant |
text/disabled |
whether the button is clickable or disabled |
| loc |
en_US |
a locale associated with the transaction (Optional) |
| merchant_id |
(e.g 1234567890) |
Merchant ID |
EXAMPLE: The button image URL for a large Google Checkout button on a white background (for A TEST Account):
If you prefer to use the 'Donate' button instead of the 'Checkout' button, replace 'checkout.gif' with 'donation.gif' in your button URLs. EXAMPLES:
TEST URL: http://sandbox.google.com/checkout/buttons/donation.gif?merchant_id=\[CRM:MerchantID\]&w=160&h=43&style=white&variant=text&loc=en_US
LIVE URL: https://checkout.google.com/buttons/donation.gif?merchant_id=\[CRM:MerchantID\]&w=160&h=43&style=white&variant=text&loc=en_US |
Additional Documentation
For more information on Google checkout refer http://code.google.com/apis/checkout/
It would be great if this were updated to include instructions for the newest version. Some of these instructions are outdated, such as entering the Key into the settings file.
Jenni - It looks like you've taken care of updating the doc. Thx!
I was only able to get the button to show up on the test-drive when I used [rest of address]" rel="nofollow">http://checkout.google.com/buttons/checkout.gif?[rest of address] as my Button URL.New transactions using this still go into my sandbox account because it has a different Merchant ID.