Uh oh!
There was an error while loading. Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork 17
Home
This library provides developers with a simple set of bindings to the 2Checkout purchase routine, Instant Notification Service, Admin API and Payment API.
To use, download or clone the repository.
git clone https://github.com/2checkout/2checkout-python.gitInstall (Or just import in your script.)
cd 2checkout-python
sudo python setup.py installImport in your script
importtwocheckoutSandbox Usage:
Sandbox API Setting: twocheckout.Api.auth_credentials({ 'mode': 'sandbox' })
Sandbox Checkout Setting: twocheckout.Charge.mode(‘sandbox’);
Example Usage:
twocheckout.Api.auth_credentials({
'private_key': '8CE03B2D-FE41-4C53-9156-52A8ED5A0FA3',
'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)
printresult.responseCodeexceptTwocheckoutErroraserror:
printerror.msgExample 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 Usage:
importtwocheckouttwocheckout.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 Usage:
params= {
'sid': 1817037,
'cart_order_id': 'test1',
'total': 0.01
}
form=twocheckout.Charge.submit(params)Example Response:
<formid='2checkout' action='https://www.2checkout.com/checkout/spurchase' method='post'><inputtype='hidden' name='li_0_name' value='Test Product' /><inputtype='hidden' name='li_0_price' value='0.01' /><inputtype='hidden' name='mode' value='2CO' /><inputtype='hidden' name='sid' value='1817037' /><inputtype='submit' value='Proceed to Checkout' /></form><scripttype='text/javascript'>document.getElementById('2checkout').submit();</script>Example Usage:
params=web.input() # using web.pyparams['secret'] ='tango'result=twocheckout.Passback.check(params)Example Response:
{
'response_code': 'SUCCESS', 'response_message': 'Hash Matched'
}Example Usage:
params=web.input() # using web.pyparams['secret'] ='tango'result=twocheckout.Notification.check(params)Example Response:
{
'response_code': 'SUCCESS', 'response_message': 'Hash Matched'
}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)
self.assertEqual(result.message, 'lineitem refunded')
exceptTwocheckoutErroraserror:
self.assertEqual(error.message, 'Lineitem was already refunded.')Full documentation for each binding can be accessed from the sidebar.
Please feel free to contact 2Checkout directly for assistance with your integration.