<commit_before>Payment Modules
===============

Satchmo currently has support for several different payment modules.  This
document will discuss some of the particular configuration items to keep in
mind for each module.

.. index:: Authorize.net

Authorize.net
-------------
The authorize.net module requires that you have a valid authorize.net account.
In order to get your transaction key and transaction login, go to the
`site <http://www.authorize.net/>`_ and complete the account registration process.
When you have completed it, you can fill in the appropriate fields in the
admin settings to enable this payment processor.

There is one thing to keep in mind when setting up the test processing.
If you are posting to https://test.authorize.net/gateway/transact.dll,
and you are not using an account whose API login ID starts with
"cpdev" or "cnpdev", you will get an Error 13 message. Make sure you are
posting to https://certification.authorize.net/gateway/transact.dll for
test transactions if you do not have a cpdev or cnpdev.

.. index:: TrustCommerce

TrustCommerce
-------------
TrustCommerce configuration is very similar to authorize.net.  You will need
to go to `TrustCommerce <http://www.trustcommerce.com/>`_ and get your account
setup.

One special note with TrustCommerce - you must have the tclink libraries installed.
You can get these from `here <http://www.trustcommerce.com/tclink.html>`_.

Once the library is installed, you can fill in your login and password information
in the admin config.

.. index:: CyberSource

CyberSource
-----------
CyberSource operates similarly to TrustCommerce and Authorize.net.  If you register
at the `CyberSource Site <http://www.cybersource.com/>`_ you will get all the
credentials you need to configure this module.

.. index:: Paypal

PayPal
------
More details needed here.

.. index:: Google Checkout

Google Checkout
---------------
There are a couple of different ways to integrate with Google Checkout. Satchmo
uses the XML option. When configuring your checkout account via Google, select:
"Option A - Configure your form to submit directly to Google Checkout."

It is recommended that you review the `Google checkout documentation
<http://code.google.com/apis/checkout/developer/Google_Checkout_XML_API.html#create_checkout_cart>`_
in order to understand how the process works.

.. index:: Protx

Protx
-----
This processor is included in the default Satchmo store.
<commit_msg>docs/payment: document paypal config<commit_after>Payment Modules
===============

Satchmo currently has support for several different payment modules.  This
document will discuss some of the particular configuration items to keep in
mind for each module.

.. index:: Authorize.net

Authorize.net
-------------
The authorize.net module requires that you have a valid authorize.net account.
In order to get your transaction key and transaction login, go to the
`site <http://www.authorize.net/>`_ and complete the account registration process.
When you have completed it, you can fill in the appropriate fields in the
admin settings to enable this payment processor.

There is one thing to keep in mind when setting up the test processing.
If you are posting to https://test.authorize.net/gateway/transact.dll,
and you are not using an account whose API login ID starts with
"cpdev" or "cnpdev", you will get an Error 13 message. Make sure you are
posting to https://certification.authorize.net/gateway/transact.dll for
test transactions if you do not have a cpdev or cnpdev.

.. index:: TrustCommerce

TrustCommerce
-------------
TrustCommerce configuration is very similar to authorize.net.  You will need
to go to `TrustCommerce <http://www.trustcommerce.com/>`_ and get your account
setup.

One special note with TrustCommerce - you must have the tclink libraries installed.
You can get these from `here <http://www.trustcommerce.com/tclink.html>`_.

Once the library is installed, you can fill in your login and password information
in the admin config.

.. index:: CyberSource

CyberSource
-----------
CyberSource operates similarly to TrustCommerce and Authorize.net.  If you register
at the `CyberSource Site <http://www.cybersource.com/>`_ you will get all the
credentials you need to configure this module.

.. index:: Paypal

PayPal
------

Configuration
^^^^^^^^^^^^^

.. data:: PAYMENT_PAYPAL.BUSINESS

   The email address for your paypal account.

.. data:: PAYMENT_PAYPAL.BUSINESS_TEST

   The email address for testing your paypal account.

.. data:: PAYMENT_PAYPAL.CURRENCY_CODE

   Currency code for Paypal transactions.

   Defaults to USD.

.. data:: PAYMENT_PAYPAL.LIVE

   Whether to accept real payments.

   Defaults to False.

.. data:: PAYMENT_PAYPAL.POST_URL

   The Paypal URL for real transaction posting.

   Defaults to `https://www.paypal.com/cgi-bin/webscr`.

.. data:: PAYMENT_PAYPAL.RETURN_ADDRESS

   Where Paypal will return the customer after the purchase is complete. This
   can be a named url and defaults to 'satchmo_checkout-success'.

.. data:: PAYMENT_PAYPAL.POST_TEST_URL

   The Paypal URL for test transaction posting.

   Defaults to `https://www.sandbox.paypal.com/cgi-bin/webscr`.

.. data:: PAYMENT_PAYPAL.URL_BASE

   Defaults to `^paypal/`.

.. index:: Google Checkout

Google Checkout
---------------
There are a couple of different ways to integrate with Google Checkout. Satchmo
uses the XML option. When configuring your checkout account via Google, select:
"Option A - Configure your form to submit directly to Google Checkout."

It is recommended that you review the `Google checkout documentation
<http://code.google.com/apis/checkout/developer/Google_Checkout_XML_API.html#create_checkout_cart>`_
in order to understand how the process works.

.. index:: Protx

Protx
-----
This processor is included in the default Satchmo store.

{'fraction_non_alphanumeric': 0.09120465434633812, 'fraction_numerical': 0.0006844626967830253, 'mean_word_length': 3.8265895953757227, 'pattern_counts': {'":': 0, '<': 13, '<?xml version=': 0, '>': 13, 'https://': 6, 'lorem ipsum': 0, 'www.': 10, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3988213', 'n_tokens_mistral': 1638, 'n_tokens_neox': 1561, 'n_words': 721}