Off-site processing is the payment mechanism where the customer is redirected to the payment gateways site to complete the transaction and is redirected back to the merchant website on completion.
Since the credit card number and other sensitive details are entered on the payment gateway’s site, the merchant website may not comply to PCI standards. This mode of payment is recommended when the merchant website is not in a position to use SSL certificates, not able to guarantee a secure network etc
Off-site processing is generally implemented in merchant through Integrations (name derived from Active Merchant).
An Integration much like a Gateway is a Python class. But unlike a Gateway which is used in a view, an Integration renders a form (usually with hidden fields) through a template tag. An integration may also support asynchronous and real-time transaction status handling through callbacks or notifiers like the PayPal IPN
Here is a reference of the attributes and methods of the Integration class:
Very much like Gateways, Integrations have a method of easily referencing the corresponding integration class through the get_integration helper function.
Example:
>>> from billing import get_integration
>>> get_integration("pay_pal")
<billing.integrations.pay_pal_integration.PayPalIntegration object at 0xa57e12c>