Integration of 2checkout with django

Reading Time : ~ .

Payment Gateways which facilitate communication within banks and Security is an integral component of all payment gateways, as sensitive data such as Credit Card Numbers need to be protected from any fraudulent parties.We are having payment gateways like paypal,braintree,payumoney,2checkout...    In this post,we will see how to integrate 2checkout with our django application.

To integrate it to the application,it offers 3 different integration methods.

1.inline checkout

In inline chekout,we displays a secure payment form as an overlay on your checkout page. .It collects the buyers's billing/shipping address and finalize the cart total sum
the function of inline checkout is same as standard checkout, but when the required parameter is missing(buyer's name,email address and billing address),it willredirect to the standard checkout.


 
To know about request parameters, and response please refer to https://www.2checkout.com/documentation/checkout/inline-checkout

2.standard checkout 
It can handle every part of the buyer’s checkout process on a single page. You can tailor the whole checkout process to your needs by passing in billing/shipping information, currency, language and checkout step.


 
 
To know about request parameters, and response please refer to https://www.2checkout.com/documentation/checkout/standard-checkout

3.Payment Api

In payment api,we are taking the credit card information with a simple HTML form on our website, and use our 2co.js JavaScript library to convert the credit card information into a secure token. The token can then be safely passed to your server so that you can submit the transaction using our API.

a)create token:

Here we collect the payment details using a form(#myform) and generate a secure token 


b) create sale: after token has been created, you can use it to charge the customer through our server-side authorization API call.

# Setup credentials and environment

    twocheckout.Api.auth_credentials({

        'private_key': 'sandbox-private-key',

        'seller_id': 'sandbox-seller_id',

        'mode': 'sandbox'

    })

    # Setup arguments for authorization request
    args = {
        'merchantOrderId': '123',
        'token': request.form["token"],
        'currency': 'USD',
        'total': '1.00',
        'billingAddr': {
            'name': 'Testing Tester',
            'addrLine1': '123 Test St',
            'city': 'Columbus',
            'state': 'OH',
            'zipCode': '43123',
            'country': 'USA',
            'email': 'example@2co.com',
            'phoneNumber': '555-555-5555'
        }
    }

    # Make authorization request
    try:
        result = twocheckout.Charge.authorize(args)
        return result.responseMsg
    except TwocheckoutError as error:
        return error.msg

for more details refer  to https://www.2checkout.com/documentation/payment-api/

Return Process:

after successful transaction using 3 methods,we can redict to the website by giving the return url in the production account,or we can also mention in the form using the input field x_receipt_link_url=http://www.yoursite.com/return

    By Posted On
SENIOR DEVELOPER at MICROPYRAMID

Need any Help in your Project?Let's Talk

Latest Comments
Related Articles
Django webpacker - A compression tool to bundles css, js files Nikhila Mergu

django-webpacker is a django compressor tool which bundles css, js files to a single css, js file with webpack and updates your html files with ...

Continue Reading...
Export html web page to pdf using jspdf Vidyasagar Rudraram

jsPDF is used to generate pdf files in client-side Javascript. You can find the links for jsPDF here and also you can find the link ...

Continue Reading...
Integration Of GitHub API with python django Nikhila Mergu

Using Github integration, we can get the user verified email id, general information, git hub URL, id, disk usage, public, private repo's, gists and followers, ...

Continue Reading...

Subscribe To our news letter

Subscribe to our news letter to receive latest blog posts into your inbox. Please fill your email address in the below form.
*We don't provide your email contact details to any third parties