Browse Source

fix: check for transaction success in the final stage

pull/2/head
Mangesh-Khairnar 5 years ago
parent
commit
bab8edd5b6
2 changed files with 4 additions and 10 deletions
  1. +4
    -9
      payments/payment_gateways/doctype/paytm_settings/paytm_settings.py
  2. +0
    -1
      payments/templates/pages/paytm_checkout.py

+ 4
- 9
payments/payment_gateways/doctype/paytm_settings/paytm_settings.py View File

@@ -100,7 +100,6 @@ def verify_transaction(**kwargs):
paytm_config = get_paytm_config() paytm_config = get_paytm_config()
received_data = frappe._dict(kwargs) received_data = frappe._dict(kwargs)


print(received_data)
paytm_params = {} paytm_params = {}
for key, value in received_data.items(): for key, value in received_data.items():
if key == 'CHECKSUMHASH': if key == 'CHECKSUMHASH':
@@ -133,16 +132,14 @@ def verify_transaction_status(paytm_config, order_id):
url = paytm_config.transaction_status_url url = paytm_config.transaction_status_url


response = requests.post(url, data = post_data, headers = {"Content-type": "application/json"}).json() response = requests.post(url, data = post_data, headers = {"Content-type": "application/json"}).json()
print('transaction status response')
print(response)
finalize_request(order_id, response) finalize_request(order_id, response)


def finalize_request(order_id, response):
def finalize_request(order_id, transaction_response):
request = frappe.db.get_value('Integration Request', order_id) request = frappe.db.get_value('Integration Request', order_id)
redirect_to = request.data.get('redirect_to') or None redirect_to = request.data.get('redirect_to') or None
redirect_message = request.data.get('redirect_message') or None redirect_message = request.data.get('redirect_message') or None


if request.flags.status_changed_to == "Completed":
if transaction_response['STATUS'] == "TXN_SUCCESS":
if request.data.reference_doctype and request.data.reference_docname: if request.data.reference_doctype and request.data.reference_docname:
custom_redirect_to = None custom_redirect_to = None
try: try:
@@ -163,10 +160,8 @@ def finalize_request(order_id, response):
if redirect_message: if redirect_message:
redirect_url += '&' + urlencode({'redirect_message': redirect_message}) redirect_url += '&' + urlencode({'redirect_message': redirect_message})


return {
"redirect_to": redirect_url,
"status": status
}
frappe.local.response['type'] = 'redirect'
frappe.local.response['location'] = 'redirect_url'


def get_gateway_controller(doctype, docname): def get_gateway_controller(doctype, docname):
reference_doc = frappe.get_doc(doctype, docname) reference_doc = frappe.get_doc(doctype, docname)


+ 0
- 1
payments/templates/pages/paytm_checkout.py View File

@@ -21,7 +21,6 @@ def get_context(context):


try: try:
doc = frappe.get_doc("Integration Request", frappe.form_dict['order_id']) doc = frappe.get_doc("Integration Request", frappe.form_dict['order_id'])
payment_details = json.loads(doc.data)


context.payment_details = get_paytm_params(json.loads(doc.data), doc.name, paytm_config) context.payment_details = get_paytm_params(json.loads(doc.data), doc.name, paytm_config)




Loading…
Cancel
Save