emile 1 year ago
parent cc03825004
commit 31605f7f96

@ -4,6 +4,8 @@ from django.http import JsonResponse
import requests import requests
from .decorators import * from .decorators import *
import uuid import uuid
import urllib.parse
# Create your views here. # Create your views here.
@customer_login_required @customer_login_required
@ -39,7 +41,6 @@ def pricing(request, *args, **kwargs):
@customer_login_required @customer_login_required
def initiate_checkout(request): def initiate_checkout(request):
# Your Mastercard API credentials
api_username = 'merchant.TEST06127800' api_username = 'merchant.TEST06127800'
api_password = '37846250a67c70e7fe9f82cf6ca81f93' api_password = '37846250a67c70e7fe9f82cf6ca81f93'
merchant_id = 'TEST06127800' merchant_id = 'TEST06127800'
@ -47,7 +48,6 @@ def initiate_checkout(request):
order_id = str(uuid.uuid4())[:8] order_id = str(uuid.uuid4())[:8]
# Data for Initiate Checkout operation
payload = { payload = {
'apiOperation': 'INITIATE_CHECKOUT', 'apiOperation': 'INITIATE_CHECKOUT',
'apiUsername': api_username, 'apiUsername': api_username,
@ -58,24 +58,22 @@ def initiate_checkout(request):
'order.id': order_id, 'order.id': order_id,
'order.amount': '100.00', 'order.amount': '100.00',
'order.currency': 'USD', 'order.currency': 'USD',
'order.description': 'description_of_order' 'order.description': 'description_of_order',
} }
try: try:
response = requests.post('https://creditlibanais-netcommerce.gateway.mastercard.com/api/nvp/version/72', data=payload) response = requests.post('https://creditlibanais-netcommerce.gateway.mastercard.com/api/nvp/version/78', data=payload)
print("Response Content:", response.text) print('Response Content:', response.text)
if response.status_code == 200: if response.status_code == 200:
res = response.json() response_data = response.text
print(res) parsed_data = dict(item.split('=') for item in response_data.split('&'))
session_id = parsed_data.get('session.id')
return JsonResponse({"session_id": res}) return JsonResponse({'session_id': session_id}, status=200)
else: else:
print("Response Status Code:", response.status_code) # Print status code print('Response Status Code:', response.status_code)
return JsonResponse({"error": "Failed to initiate checkout"}, status=500) return JsonResponse({'error': 'Failed to initiate checkout'}, status=500)
except Exception as e: except Exception as e:
print("Exception:", e) # Print exception traceback print('Exception:', e)
return JsonResponse({"error": "Internal Server Error"}, status=500) return JsonResponse({'error': 'Internal Server Error'}, status=500)
Loading…
Cancel
Save