Skip to content

2Checkout/2checkout-python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DEPRECATED!!! This SDK can only be used with the legacy 2Checkout platform which is depreciated. Please use 2checkout-python-sdk with the current 2Checkout platform.

This library provides developers with a simple set of bindings to the 2Checkout purchase routine, Instant Notification Service and Back Office API.

To use, download or clone the repository.

git clone https://github.com/2checkout/2checkout-python.git

If your using python version 3.0 or higher, checkout the 3.x branch.

git checkout 3.x

Install (Or just import in your script.)

cd 2checkout-python
sudo python setup.py install

Import in your script

import twocheckout

Full documentation for each binding will be provided in the Wiki.

Example Purchase API Usage

Example Usage:

import twocheckout


twocheckout.Api.auth_credentials({
    'private_key': '3508079E-5383-44D4-BF69-DC619C0D9811',
    'seller_id': '1817037',
    'mode': 'production'
})

params = {
    'merchantOrderId': '123',
    'token': 'ODAxZjUzMDEtOWU0MC00NzA3LWFmMDctYmY1NTQ3MDhmZDFh',
    'currency': 'USD',
    'total': '1.00',
    'billingAddr': {
        'name': 'Testing Tester',
        'addrLine1': '123 Test St',
        'city': 'Columbus',
        'state': 'OH',
        'zipCode': '43123',
        'country': 'USA',
        'email': 'cchristenson@2co.com',
        'phoneNumber': '555-555-5555'
    }
}

try:
    result = twocheckout.Charge.authorize(params)
    print result.responseCode
except twocheckout.TwocheckoutError as error:
    print error.msg

Example Response:

{
    'lineItems': [
        {
            'tangible': 'N',
            'name': '123',
            'price': '1.00',
            'description': '',
            'recurrence': None,
            'duration': None,
            'startupFee': None,
            'productId': '',
            'type': 'product',
            'options': [
                
            ],
            'quantity': '1'
        }
    ],
    'responseMsg': 'Successfully authorized the provided creditcard',
    'recurrentInstallmentId': None,
    'shippingAddr': {
        'city': None,
        'phoneExtension': None,
        'country': None,
        'addrLine2': None,
        'zipCode': None,
        'addrLine1': None,
        'state': None,
        'phoneNumber': None,
        'email': None,
        'name': None
    },
    'orderNumber': '205180784763',
    'currencyCode': 'USD',
    'merchantOrderId': '123',
    'errors': None,
    'responseCode': 'APPROVED',
    'transactionId': '205180784772',
    'total': '1.00',
    'type': 'AuthResponse',
    'billingAddr': {
        'city': 'Columbus',
        'phoneExtension': None,
        'country': 'USA',
        'addrLine2': None,
        'zipCode': '43123',
        'addrLine1': '123 Test St',
        'state': 'OH',
        'phoneNumber': '555-555-5555',
        'email': 'cchristenson@2co.com',
        'name': 'Testing Tester'
    }
}

Example Admin API Usage

Example Usage:

import twocheckout


twocheckout.Api.credentials({'username':'APIuser1817037', 'password':'APIpass1817037'})

params = {
    'sale_id': 4774467596,
    'category': 1,
    'comment': "Refunding Sale"
    }

sale = twocheckout.Sale.find(params)
sale.refund(params);

Example Response:

{
  'response_code': 'OK', 
  'response_message': 'refund added to invoice'
}

Example Checkout Usage:

Example Usage:

params = {
    'sid': 1817037,
    'cart_order_id': 'test1',
    'total': 1.00
}

form = twocheckout.Charge.submit(params)

Example Response:

<form id='2checkout' action='https://www.2checkout.com/checkout/spurchase' method='post'>
<input type='hidden' name='li_0_name' value='Test Product' />
<input type='hidden' name='li_0_price' value='0.01' />
<input type='hidden' name='mode' value='2CO' />
<input type='hidden' name='sid' value='1817037' />
<input type='submit' value='Proceed to Checkout' />
</form>
<script type='text/javascript'>document.getElementById('2checkout').submit();</script>

Example Return Usage:

Example Usage:

params = web.input() # using web.py
params['secret'] = 'tango'
result = twocheckout.Passback.check(params)

Example Response:

{
  'response_code': 'SUCCESS', 
  'response_message': 'Hash Matched'
}

Example INS Usage:

Example Usage:

params = web.input() # using web.py
params['secret'] = 'tango'
result = twocheckout.Notification.check(params)

Example Response:

{
  'response_code': 'SUCCESS', 
  'response_message': 'Hash Matched'
}

Full documentation for each binding is provided in the Wiki.

Exceptions:

TwocheckoutError exceptions are thrown by if an error has returned. It is best to catch these exceptions so that they can be gracefully handled in your application.

Example Usage

try:
    sale = twocheckout.Sale.find(EXAMPLE_SALE)
    invoice = sale.invoices[0]
    lineitem = invoice.lineitems[0]
    result = lineitem.refund(EXAMPLE_REFUND)
except TwocheckoutError as error:
    error.message