Integration of payment gateways is an important part of developing an e-commerce application which includes communication with several banks with different ways online banking/debit credit cards. and also providing security is the most important feature for all payment gateways integration. 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 customize the whole checkout process to your needs by passing user billing/shipping information details, currency details, language and checkout steps.
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. We're sending the secure token to your server and submit the transaction using 2checkout 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@micropyramid.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
Micropyramid is a software development and cloud consulting partner for enterprise businesses across the world. We work on python, Django, Salesforce, Angular, Reactjs, React Native, MySQL, PostgreSQL, Docker, Linux, Ansible, git, amazon web services. We are Amazon and salesforce consulting partner with 5 years of cloud architect experience. We develop e-commerce, retail, banking, machine learning, CMS, CRM web and mobile applications.
Django-CRM :Customer relationship management based on Django
Django-blog-it : django blog with complete customization and ready to use with one click installer Edit
Django-webpacker : A django compressor tool
Django-MFA : Multi Factor Authentication
Docker-box : Web Interface to manage full blown docker containers and images
More...